本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。
以下文章来源于菜J学Python ,作者J哥
前言
目前,市场上有大量 Python图形用户界面(GUI)开发框架可供选择,如wxpython 、pyqt5、Gtk、Tk等。本文将用Python结合PyQt5制作一款B站视频数据爬虫小程序,可以通过输入关键字、页码以及选择存储路径后,下载相应的数据,效果如下:
以下将详细介绍这个GUI工具的制作方法,如需本文完整代码,后台回复GUI。
开发环境
Python3
Pycharm
PyQt5
Qt Designer
requests
准备工作
首先,新建一个bilibili.py文件。获取B站视频数据的爬虫代码相对简单,只要在设置好url的keyword和page参数,即可轻松获取数据。以下贴出完整代码:
importrequestsfrom lxml importetreeimporttimeimportrandomimportcsvdefget_target(keyword,page):for i in range(1,page + 1):
headers= {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36'}
url= 'https://search.bilibili.com/all?keyword={0}&from_source=nav_suggest_new0&page={1}'.format(keyword,page)
html= requests.get(url.format(i),headers =headers)
bs=etree.HTML(html.text)
items= bs.xpath('//li[@class = "video-item matrix"]')for item initems:
title= item.xpath('div[@class = "info"]/div/a/@title')[0]
click= item.xpath('div[@class = "info"]/div[3]/span[1]/text()')[0].strip('\n').replace("万","")
danmu= i