Python爬虫b站视频弹幕并生成词云图分析
Posted 会武术之白猫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python爬虫b站视频弹幕并生成词云图分析相关的知识,希望对你有一定的参考价值。
爬虫:requests,beautifulsoup
词云:wordcloud,jieba
代码加注释:
1 # -*- coding: utf-8 -*- 2 import xlrd#读取excel 3 import xlwt#写入excel 4 import requests 5 import linecache 6 import wordcloud 7 import jieba 8 import matplotlib.pyplot as plt 9 from bs4 import BeautifulSoup 10 11 if __name__=="__main__": 12 yun="" 13 14 n=0#ID编号 15 target=\'https://api.bilibili.com/x/v1/dm/list.so?oid=132084205\'#b站oid页 16 user_agent = \'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36\' 17 headers = {\'User-Agent\':user_agent}#伪装浏览器 18 19 req=requests.get(url=target) 20 html=req.text 21 html=html.encode(\'ISO 8859-1\') 22 #html=html.replace(\'<br>\',\' \').replace(\'<br/>\',\' \').replace(\'/>\',\'>\') 23 bf=BeautifulSoup(html,"html.parser") 24 25 texts=bf.find(\'i\') 26 texts_div=texts.find_all(\'d\') 27 #print(texts_div) 28 for item in texts_div: 29 n=n+1 30 item_name=item.text#标题 31 yun+=str(item_name) 34 35 yun=yun.replace(" ","") 36 yun=yun.replace("哈","") 37 yun=yun.replace("啊","") 38 yun=yun.replace("一","")#去除无意义弹幕 39 # 结巴分词,生成字符串,wordcloud无法直接生成正确的中文词云 40 cut_text = " ".join(jieba.cut(yun)) 41 wc = wordcloud.WordCloud( 42 #设置字体,不然会出现口字乱码,文字的路径是电脑的字体一般路径,可以换成别的 43 font_path="C:/Windows/Fonts/simfang.ttf", 44 #设置了背景,宽高 45 background_color="white",width=1000,height=880).generate(cut_text) 46 47 plt.imshow(wc, interpolation="bilinear") 48 plt.axis("off") 49 plt.show() 50 print("Done!")
运行结果图:
以上是关于Python爬虫b站视频弹幕并生成词云图分析的主要内容,如果未能解决你的问题,请参考以下文章
爬取B站视频排名第一《祖国大好河山》1W+弹幕,得出一份词频词云图
python实战B站弹幕是如何看待“法外狂徒张三”的?词云分析