当前位置: 首页 > news >正文

元器件商城网站建设软文广告营销

元器件商城网站建设,软文广告营销,驻马店做网站公司,网站如何做银联在线支付目录前言开发环境本次项目案例步骤先展示下完成品的效果界面导入模块先创建个窗口功能按键主要功能代码编写功能一功能二功能三前言 最近很多同学想问我,怎么把几个代码的功能集合到一起? 很简单,写一个界面就行了,想要哪个代码…

目录

  • 前言
      • 开发环境
      • 本次项目案例步骤
      • 先展示下完成品的效果
  • 界面
      • 导入模块
      • 先创建个窗口
      • 功能按键
  • 主要功能代码编写
      • 功能一
      • 功能二
      • 功能三

前言

最近很多同学想问我,怎么把几个代码的功能集合到一起?

很简单,写一个界面就行了,想要哪个代码运行,鼠标轻轻一点就行

请添加图片描述

开发环境

  • python 3.8: 解释器
  • pycharm: 代码编辑器

本次项目案例步骤

  1. 先确定想要的功能,今天这个项目的主要功能为三个
  • 视频
  • 评论
  • 弹幕
  1. 创建一个简单的用户交互界面,简洁明了

先展示下完成品的效果

界面

导入模块

import tkinter as tk
from tkinter import ttk
import tkinter.messagebox

先创建个窗口

root = tk.Tk()
root.title('哔站下载软件')
root.geometry('367x134+200+200')
#  透明度的值:0~1 也可以是小数点,0:全透明;1:全不透明
root.attributes("-alpha", 0.9)root.mainloop()

功能按键

text_label_1 = tk.Label(root, text='选择: ', font=('黑体', 15))
text_label_1.grid(row=1, column=0, padx=5, pady=5)number_int_var = tk.StringVar()
# 创建一个下拉列表
numberChosen = ttk.Combobox(root, textvariable=number_int_var, width=26)
# 设置下拉列表的值
numberChosen['values'] = ('视频', '弹幕', '评论')
# 设置其在界面中出现的位置  column代表列   row 代表行
numberChosen.grid(row=1, column=1, padx=5, pady=5)
# 设置下拉列表默认显示的值,0为 numberChosen['values'] 的下标值
numberChosen.current(0)text_label = tk.Label(root, text='BV号:', font=('黑体', 15))
text_label.grid(row=2, column=0, padx=5, pady=5)bv_va = tk.Variable()
entry_1 = tk.Entry(root, font=('黑体', 15), textvariable=bv_va)
entry_1.grid(row=2, column=1)Button_1 = tk.Button(root, text='下载', font=('黑体', 13))
Button_1.grid(row=2, column=2, padx=5, pady=5)


主要功能代码编写

功能一

我们用正则来提取数据
正则表达式 —> 对于字符串数据类型进行提取/解析
re模块findall() ----> 告诉程序从什么地方去找什么数据
re.findall() '“title”:“(.?)“,“pubdate”', response.text
从 response.text 里面 去找 “title”:”(.
?)”,“pubdate” 其中括号里内容就是我们要的

def Video(bv_id):url = f'https://www.bilibili.com/video/{bv_id}'# 把python代码伪装成浏览器  ---> 在开发者工具里面直接复制粘贴headers = {# 防盗链'referer': 'https://www.bilibili.com/video/',# 浏览器基本身份标识 表示浏览器'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'}# 发送请求 ---> <Response [200]> 响应对象,  200状态码 表示请求成功response = requests.get(url=url, headers=headers)# 获取视频标题title = re.findall('"title":"(.*?)","pubdate"', response.text)[0].replace(' ', '')# 获取视频数据信息 前端标签两个两个一起html_data = re.findall('<script>window.__playinfo__=(.*?)</script>', response.text)[0]# 转换数据类型  字符串数据转成json字典数据类型json_data = json.loads(html_data)audio_url = json_data['data']['dash']['audio'][0]['baseUrl']video_url = json_data['data']['dash']['video'][0]['baseUrl']audio_content = requests.get(url=audio_url, headers=headers).contentvideo_content = requests.get(url=video_url, headers=headers).contentif not os.path.exists('video\\'):os.mkdir('video\\')with open('video\\' + title + '.mp3', mode='wb') as audio:audio.write(audio_content)with open('video\\' + title + '.mp4', mode='wb') as video:video.write(video_content)return title

功能二

这个功能,前段时间已经发布过相关的文章教程
请看这里:用Python获取弹幕的两种方式(一种简单但量少,另一量大管饱)

def get_response(html_url):headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'}response = requests.get(url=html_url, headers=headers)response.encoding = response.apparent_encodingreturn responsedef get_Dm_url(bv_id):link = f'https://www.ibilibili.com/video/{bv_id}/'html_data = get_response(link).textDm_url = re.findall('<a href="(.*?)"  class="btn btn-default" target="_blank">弹幕</a>', html_data)[0]title = re.findall('<input type="text" value="(.*?)"', html_data)[-1]return Dm_url, titledef get_Dm_content(Dm_url, title):html_data = get_response(Dm_url).textcontent_list = re.findall('<d p=".*?">(.*?)</d>', html_data)if not os.path.exists('弹幕\\'):os.mkdir('弹幕\\')for content in content_list:with open(f'弹幕\\{title}弹幕.txt', mode='a', encoding='utf-8') as f:f.write(content)f.write('\n')def main(bv_id):Dm_url, title = get_Dm_url(bv_id)get_Dm_content(Dm_url, title)

功能三

单页少量的数据很简单,但要想翻页,必须分析网站,找到规律

def get_response(html_url, params=None):headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'}response = requests.get(url=html_url, params=params, headers=headers)return responsedef get_oid(bv_id):link = f'https://www.bilibili.com/video/{bv_id}/'html_data = get_response(link).textoid = re.findall('window.__INITIAL_STATE__={"aid":(\d+),', html_data)[0]title = re.findall('"title":"(.*?)","pubdate"', html_data)[0].replace(' ', '')return oid, titledef get_content(oid, page, title):content_url = 'https://api.bilibili.com/x/v2/reply/main'data = {'csrf': '6b0592355acbe9296460eab0c0a0b976','mode': '3','next': page,'oid': oid,'plat': '1','type': '1',}json_data = get_response(content_url, data).json()content = '\n'.join([i['content']['message'] for i in json_data['data']['replies']])if not os.path.exists('评论\\'):os.mkdir('评论\\')with open(f'评论\\{title}评论.txt', mode='a', encoding='utf-8') as f:f.write(content)def main(bv_id):oid, title = get_oid(bv_id)for page in range(1, 6):try:get_content(oid, page, title)except:pass
👇问题解答 · 源码获取 · 技术交流 · 抱团学习请联系👇
http://www.khdw.cn/news/6701.html

相关文章:

  • 购买游戏软件做网站网站seo设计
  • 关于网站建设的网络诈骗的案例百度云盘登录
  • 中国设计联盟网服务内容杭州做seo的公司
  • 三亚做网站公司seo引擎优化教程
  • 如何免费建立网站申请自媒体平台注册
  • wordpress isadmin谷歌seo优化技巧
  • 2015做导航网站好竞价托管哪家便宜
  • 做php网站用什么软件开发百度推广营销
  • 专门做设计的网站seo好学吗入门怎么学
  • 本地手机网站建设百度宁波营销中心
  • 触屏音乐网站源码抖音推广合作方式
  • 住房和城乡建设部网站安广东省5118营销大数据
  • 本网站只做信息展示创意营销
  • 用.net做网站好_还是用php公司网络推广营销
  • 江门论坛网站建设公司网站如何制作设计
  • 信阳做网站搜外seo
  • 网站需求分析文档seo页面链接优化
  • 做外贸网站哪家效果好seo网站推广目的
  • 濮阳市网站建设青岛百度seo
  • 外贸php网站源码营销活动
  • 辛集做网站合肥网站优化公司
  • 西安网站制作中心seo推广一年要多少钱
  • 在网上建设网站seo推广优化公司哪家好
  • 自己做网站的步骤站长工具友链查询
  • 苏州seo免费咨询seo网站推广批发
  • 做58招聘网站工作人员的心得有必要买优化大师会员吗
  • 游戏里买卖号的网站怎么做在线优化网站
  • 咸阳网站开发哪家好seo技术建站
  • 只做水果的网站信息流推广渠道
  • 网上商城网站开发需求说明书seo建站要求