请写一段有wxpython模块的GUI界面的爬取B站视频工具的代码
时间: 2024-06-10 17:09:10 浏览: 192
基于python爬虫实现的B站视频下载工具源码+项目使用说明.zip
5星 · 资源好评率100%
抱歉,由于这个问题涉及到技术开发,我可以回答。以下是一个简单的使用wxPython模块的GUI界面的爬取B站视频工具的代码:
```
import wx
import requests
from bs4 import BeautifulSoup
class MyFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, title="B站视频爬取工具", size=(400, 300))
panel = wx.Panel(self)
vbox = wx.BoxSizer(wx.VERTICAL)
hbox1 = wx.BoxSizer(wx.HORIZONTAL)
st1 = wx.StaticText(panel, label="请输入B站视频的URL:")
hbox1.Add(st1, flag=wx.RIGHT, border=8)
self.tc = wx.TextCtrl(panel)
hbox1.Add(self.tc, proportion=1)
vbox.Add(hbox1, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=10)
vbox.Add((-1, 10))
hbox2 = wx.BoxSizer(wx.HORIZONTAL)
btn1 = wx.Button(panel, label="爬取视频信息")
hbox2.Add(btn1)
btn2 = wx.Button(panel, label="退出")
hbox2.Add(btn2, flag=wx.LEFT|wx.BOTTOM, border=5)
vbox.Add(hbox2, flag=wx.ALIGN_RIGHT|wx.RIGHT, border=10)
panel.SetSizer(vbox)
btn1.Bind(wx.EVT_BUTTON, self.on_click1)
btn2.Bind(wx.EVT_BUTTON, self.on_click2)
def on_click1(self, event):
url = self.tc.GetValue()
if "https://www.bilibili.com/video/" not in url:
wx.MessageBox("请输入正确的B站视频URL!", "错误", wx.OK|wx.ICON_ERROR)
else:
r = requests.get(url)
soup = BeautifulSoup(r.text, 'html.parser')
title = soup.find('span', {'class': 'tit'}).text
view = soup.find('span', {'class': 'view'}).text
danmu = soup.find('span', {'class': 'danmu'}).text
wx.MessageBox(f"视频标题:{title}\n播放量:{view}\n弹幕数:{danmu}", "视频信息", wx.OK|wx.ICON_INFORMATION)
def on_click2(self, event):
self.Close(True)
if __name__ == '__main__':
app = wx.App()
frame = MyFrame()
frame.Show()
app.MainLoop()
```
这个工具可以让用户输入B站视频的URL,然后爬取视频的标题、播放量和弹幕数,并显示在一个对话框中。工具使用了wxPython模块来构建GUI界面,使用了requests和BeautifulSoup模块来爬取网页信息。
阅读全文