准备工作
- 下载安装python
https://www.python.org/ 下载python并安装,本文章基于python 3.8.1
-
idea安装python插件
idea找到settings,进入并搜索python插件安装。 -
创建python工程
直接点next就行。
B站弹幕爬虫
新建python文件,就可以直接写python代码并且运行了
至于B站弹幕爬虫,我们首先随意打开一个B站视频,浏览器按F12打开开发者工具,点击network,然后刷新视频页面进行抓包。
找到它,这个地址是每个视频的弹幕文件地址
然后使用requests库进行get请求,re库去掉标签,jieba库对所有弹幕生成的字符串进行词语分割,然后利用wordcloud库生成词云图片。
# 爬取B站弹幕
from wordcloud import WordCloud
import requests, re, jieba, os
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36'
}
# https://api.bilibili.com/x/v1/dm/list.so?oid=110428362
def danmu(url):
response = requests.get(url, headers=headers)
html_doc = response.content.decode('utf-8')
format = re.compile("<d.*?>(.*?)</d>")
danMu = format.findall(html_doc)
cut_list = jieba.lcut(" ".join(danMu))
new_str = " ".join(cut_list)
word_cloud = WordCloud(font_path="msyh.ttc").generate(new_str)
word_cloud.to_file('d:\pic.png')
if __name__ == '__main__':
s = input("输入要爬取的弹幕地址:")
danmu(s.strip())
# try:
# danmu(s)
# except Exception:
# print(Exception)
os.startfile('d:\pic.png')
最后根据弹幕生成词云: