1.分析网页

视频地址: www.bilibili.com/video/BV19E… 本身博主同时也是一名up主,虽然已经断更好久了,但是不妨碍我爬取弹幕信息来分析呀。 这次我选取的是自己 唯一的爆款视频 。就是下面这个。

私信小编01即可获取Python学习资料

希望大家能够多多支持up,up在这里谢过大家了。 打开网址我们能够发现弹幕信息是存储在这一块的。

本来以为是可以直接爬到的,但是当我点开F12检查网页的时候却发现:

他很明显只加载了一部分的弹幕信息,那么怎么获取呢,别急下面有一个查看历史弹幕信息,我们点击一下试试看。

既然知道了信息是藏在哪里的,那么接下来就是简单分析一下他的 url地址的格式

了。

可以看到重点其实就在date上,只要更换date就能获得那一天的弹幕了,所以我们基本确定我们的URL地址。接下来就是爬虫了。

2.爬虫+jieba分词+制作词云

2.1爬虫

首先是简单的先获取整个网页信息,但是获取的过程中,出现了这个错误。

这个大家都懂是啥意思,那么我们怎么解决的?很简单,我们将账号信息带进去就行了,那么怎么带呢?这里我选择的是直接将 cookie信息

放入请求头之中。这个cookie信息大家需要根据自己的浏览返回的信息进行选择。

像这样,放入headers中。

headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36",         "cookie": "_uuid=32558797-D0FE-C0F7-536C-63AF0D8AE40770652infoc; buvid3=3DB514DE-EAB4-4ED9-B597-BCDD98AF986240968infoc; sid=hwpgj1q2; DedeUserID__ckMd5=e16b5b4e38e97a2b; CURRENT_FNVAL=16; rpdid=|(JYl~Yuukl~0J'ulmR|uuukk; LIVE_BUVID=AUTO7915950709280947; CURRENT_QUALITY=64; UM_distinctid=173a99a3d29656-0dfad7ca6e9865-3b634404-1fa400-173a99a3d2a9f0; bili_jct=69d8904981c02268b8880fc10dc2abac; bp_t_offset_103134642=420625431706221182; SESSDATA=048bf530%2C1611830350%2C409d1*81; DedeUserID=103134642; PVID=1; bp_video_offset_103134642=422972760179214717; bfe_id=6f285c892d9d3c1f8f020adad8bed553"}复制代码

这样我们便能爬取到了

接下来获取弹幕信息。这里很简单通过xpath就能获取到。

parse=parsel.Selector(html)links=parse.xpath("//d/text()").getall()print(links)复制代码

既然已经获取到弹幕了,我们就需要将这些信息存储起来,用于我们接下来的操作。 这里我们选择将它存储到CSV文件中具体操作其实和之前的文件下载操作相差不大。

for i in links:    with open(r'C:甥敳獲瓤瓤DesktopB站弹幕.csv','a',newline='',encoding='utf-8-sig') as f:        writer=csv.writer(f)        links=[]        links.append(i)        writer.writerow(links)复制代码

打开之后就是这样的:

2.2jieba分词

文件都存储好了,那么我接下来的第一步就是将我们的弹幕进行jieba分词,拆解成一个一个的词语

f =open(r'C:甥敳獲瓤瓤DesktopB站弹幕.csv',encoding='utf-8')#打开文件text=f.read() #读取文件text_list=jieba.analyse.extract_tags(text,topK=40)#进行jieba分词,并且取频率出现最高的40个词text_list=" ".join(text_list)#用空格将这些字符串连接起来print(text_list)复制代码

效果:

2.3制作词云

既然词我们已经准备好了,那么我们接下来就是将它制作成词云。

#创建自定义图片样式img=plt.imread('./img/huge.jpg')w=wordcloud.WordCloud(    width=1500,    height=1000,    font_path="STXIHEI.TTF",#设置字体的格式 字体所在位置C:WindowsFonts    background_color="white",    scale=50,    contour_width=5,    contour_color="red",    mask=img,#图片遮罩层    #设置屏蔽词    stopwords={"00","天下第一","bgm","周董","真的","胡是","你币","肖战","游记","周杰伦","陈奕迅","这个"})w.generate_from_text(text_list)#绘制图片fig=plt.figure(1)plt.imshow(w)plt.axis("off")plt.show()     #显示生成的词云文件复制代码

在设置字体样式的过程中千万要 选用能够识别中文的字体样式 ,否则会变成一堆方框。字体所在位置字体所在位置 C:WindowsFonts 接着只要耐心等程序运行完就行了。

3.成品展示

4.完整代码

import requestsimport parselimport csvimport jieba.analyseimport wordcloudfrom matplotlib import pylab as plturl='https://api.bilibili.com/x/v2/dm/history?type=1&oid=160472309&date=2020-08-12'headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36",         "cookie": "_uuid=32558797-D0FE-C0F7-536C-63AF0D8AE40770652infoc; buvid3=3DB514DE-EAB4-4ED9-B597-BCDD98AF986240968infoc; sid=hwpgj1q2; DedeUserID__ckMd5=e16b5b4e38e97a2b; CURRENT_FNVAL=16; rpdid=|(JYl~Yuukl~0J'ulmR|uuukk; LIVE_BUVID=AUTO7915950709280947; CURRENT_QUALITY=64; UM_distinctid=173a99a3d29656-0dfad7ca6e9865-3b634404-1fa400-173a99a3d2a9f0; bili_jct=69d8904981c02268b8880fc10dc2abac; bp_t_offset_103134642=420625431706221182; SESSDATA=048bf530%2C1611830350%2C409d1*81; DedeUserID=103134642; PVID=1; bp_video_offset_103134642=422972760179214717; bfe_id=6f285c892d9d3c1f8f020adad8bed553"}response=requests.get(url,headers=headers)html=response.content.decode("utf-8")# print(html)parse=parsel.Selector(html)links=parse.xpath("//d/text()").getall()# print(links)for i in links:    with open(r'C:甥敳獲瓤瓤DesktopB站弹幕.csv','a',newline='',encoding='utf-8-sig') as f:        writer=csv.writer(f)        links=[]        links.append(i)        writer.writerow(links)# #制作词云图f =open(r'C:甥敳獲瓤瓤DesktopB站弹幕.csv',encoding='utf-8')text=f.read()text_list=jieba.analyse.extract_tags(text,topK=40)text_list=" ".join(text_list)print(text_list)#img=plt.imread('./img/huge.jpg')w=wordcloud.WordCloud(    width=1500,    height=1000,    font_path="STXIHEI.TTF",    background_color="white",    scale=50,    contour_width=5,    contour_color="red",    mask=img,    stopwords={"00","天下第一","bgm","周董","真的","胡是","你币","肖战","游记","周杰伦","陈奕迅","这个"})w.generate_from_text(text_list)#绘制图片fig=plt.figure(1)plt.imshow(w)plt.axis("off")plt.show()     #显示生成的词云文件复制代码

bilibili怎么设置弹幕数量_python爬取B站视频弹幕分析并制作词云相关推荐

  1. python爬取b站弹幕分析_python爬取B站视频弹幕分析并制作词云

    目录1.分析网页 2.爬虫+jieba分词+制作词云2.1爬虫 2.2jieba分词 2.3制作词云 3.成品展示 4.完整代码 1.分析网页 视频地址:https://www.bilibili.co ...

  2. python3抓取b站弹幕_python3写爬取B站视频弹幕功能

    需要准备的环境: 一个B站账号,需要先登录,否则不能查看历史弹幕记录 联网的电脑和顺手的浏览器,我用的Chrome Python3环境以及request模块,安装使用命令,换源比较快: pip3 in ...

  3. python爬取bilibili弹幕_用Python爬取B站视频弹幕

    原标题:用Python爬取B站视频弹幕 via:菜J学Python 众所周知,弹幕,即在网络上观看视频时弹出的评论性字幕.不知道大家看视频的时候会不会点开弹幕,于我而言,弹幕是视频内容的良好补充,是一 ...

  4. python爬取B站视频弹幕分析并制作词云

    1.分析网页 视频地址: www.bilibili.com/video/BV19E- 本身博主同时也是一名up主,虽然已经断更好久了,但是不妨碍我爬取弹幕信息来分析呀. 这次我选取的是自己 唯一的爆款 ...

  5. python b站 排行_Python 爬取B站 视频热度排行数据

    时间:2019-03-07 概述:抓取数据 爬虫 采集 Python 爬取bilibili站 视频热度排行视频数据,有文件为 bilibili.py,只需输入一个大模块名,如游戏模块名为'game', ...

  6. python 爬取B站视频弹幕信息

    获取B站视频弹幕,相对来说很简单,需要用到的知识点有requests.re两个库.requests用来获得网页信息,re正则匹配获取你需要的信息,当然还有其他的方法,例如Xpath. 进入你所观看的视 ...

  7. b站网页版倍速无效_python爬取B站网页弹幕内容,并将爬取内容以五角星的形式显示出来...

    思路: 向哔哩哔哩网站发送请求 请求成功后,解析爬取的弹幕内容保存到一个文件中 读取文件并分析弹幕内容中词组或文字出现的频率 将这些词组或文字组成五角星图形 组成五角星图形后,以图片的形式输出 使用到 ...

  8. 爬取B站视频弹幕生成词云

    效果预览 以B站UP主可乐三太火影1-720集解说视频2020-08-07弹幕爬取为例,生成词云 代码 # -*- coding: utf-8 -*- # @Time : 2020/8/8 22:11 ...

  9. 用python爬取视频及字幕_Python3爬取B站视频弹幕文字+视频

    需要准备的环境: 1.一个B站账号,需要先登录,否则不能查看历史弹幕记录 2.联网的电脑和顺手的浏览器,我用的Chrome 3.Python3环境以及request模块,安装使用命令,换源比较快: 爬 ...

最新文章

  1. 安装VCenter提示数据库排序规则有问题
  2. NLP机器翻译深度学习实战课程基础 | 深度应用
  3. MassTransit_契约的创建
  4. erp系统为什么要选稳定性强的?看完你就明白了
  5. spring mvc 自动生成代码
  6. JS 控制RadioButtonList 获得上传文件类型后选中
  7. python: append、extend、insert、add
  8. 牛客 21302 被3整除的子序列 (动态规划、Python)
  9. ZZULIOJ1046-1050Python解法
  10. ​Win10磁盘管理​
  11. 在数据迁移过程中如何迁移holo(memory)表?
  12. python——方便数的据存储模式Bunch
  13. 《machine learning in action》机器学习 算法学习笔记 决策树模型
  14. Python 阶段性总结《抽奖系统》(文末附代码地址)
  15. 贾小伟—Web前端开发工程师(作品集)
  16. js颜色 RGB 和 16进制转换
  17. php 里的cl框架手册,CI框架学习笔记(一)
  18. 实况足球2017 for mac打不开怎么办?10.13系统无法运行实况足球2017 for mac是什么原因?
  19. Failed to connect to 127.0.0.1 port 1086: Connection refused
  20. 微信小程序旅游服务平台+后台管理系统|前后分离VUE

热门文章

  1. 语言毕业设计选题及源代码_区块链毕业设计论文「11」
  2. java 按行读取大文件文件内容_Java实现按行读取大文件
  3. Python3搭建Django框架浅析
  4. java分表插件_fastmybatis编写分表插件
  5. nbns协议_网络协议详解1 - NBNS
  6. c++如何定义二维数组结构体_原来数组还可以这么玩(宏把数组玩坏了)
  7. ajax可以在localhost上用吗_你还不知道跨域问题是怎样造成的吗?
  8. python练手小游戏_Python小游戏练手EMS员工项目自学者练习
  9. oauth最后的确认按钮_spring-oauth集成cas单点登录,登陆完成进入授权页面后,按回退按钮进入404页面的问题...
  10. 【深度学习】DIY 人脸识别技术的探索(二)