​​​​​​​

目录

​​​​​​​

一、导入模块部分

二、输入cid部分

三、爬取弹幕内容、设置列表、数据字典及词云图的创建

四、输出结果示例

(一)RUN窗格对话:

(二)Pycharm相应内容

(三)按照保存地址保存好的HTML文件

(四)双击文件,使用浏览器打开的内容

五、全部代码


一、导入模块部分

首先是需要5个模块:

1⃣️requesets

2⃣️bs4

3⃣️jieba

4⃣️pyecharts 1.8.1

5⃣️lxml(虽然没有使用import,但是这个要装,在代码中会用到)

#引入requests请求模块
import requests
#引入bs4模块
from bs4 import  BeautifulSoup
#引入结巴库
import jieba
#引入词云模块
from pyecharts.charts import WordCloud

二、输入cid部分

#手动输入需要爬取的弹幕cid
cid  = str(input("请输入要爬取视频的cid:"))#设置弹幕api
url = f"https://comment.bilibili.com/{cid}.xml"#获取链接内容赋值给response
response = requests.get(url)#确定网页代码
response.encoding = response.apparent_encoding#通过.text返回网页xml文本内容
xml = response.text#使用lxml方法分析xml中的节点赋值给soup
soup = BeautifulSoup(xml,"lxml")#使用find_all方法查找在soup中为"d"的节点
content_all = soup.find_all("d")

其中cid是弹幕评论API的一部分,查找方式如下图:

将选中内容的cid代码部分复制下来,运行的时候粘贴就行。

三、爬取弹幕内容、设置列表、数据字典及词云图的创建


⚠️要注意更改词云图保存的地址⚠️


​​​​​​​

#为弹幕数量设置一个初始值
comment_num = 0#创建一个空白列表给词云
wordList = []
#遍历content_all中的所有节点
for comment in content_all:#将每次遍历到的节点的内容,转换为字符串赋值给datadata = comment.string#视小于2且大于10的评论为非弹幕if len(data) >= 2 and len(data) <=10:# 使用jieba.lcut()将data进行分词,赋值给wordswords = jieba.lcut(data)#将切好的词放入列表当中wordList = wordList + words#每次成功判断,计算一次有效弹幕数comment_num += 1#输入当前遍历的弹幕内容print(data)#否则else:#跳过并继续continue
#设置一个空字典
wordDict = {}#从列表中遍历已经分好的词
for word in wordList:#如果词的长度大于1,怎判断为一个词if len(word) > 1:#如果这个词没有在字典的键中if word not in wordDict.keys():#设置这个键的初始值为1wordDict[word] = 1#否则else:#这个词的值+1wordDict[word] += 1#把WordCloud赋值给wordCloud
wordCloud = WordCloud()#添加图标设置。data——pair会警告,但无影响
wordCloud.add( series_name=f"{comment_num}条弹幕的词云图",data_pair = wordDict.items(),word_size_range=[20,80])#设置保存的地址
wordCloud.render(f"/Users/huangliangyu/Desktop/{comment_num}条弹幕的词云图.html")
#格式化输出统计数字
print(F"该视频共有{comment_num}条有效弹幕")

四、输出结果示例

(一)RUN窗格对话:

(二)Pycharm相应内容

(三)按照保存地址保存好的HTML文件

(四)双击文件,使用浏览器打开的内容

五、全部代码

#引入requests请求模块
import requests
#引入bs4模块
from bs4 import  BeautifulSoup
#引入结巴库
import jieba
#引入词云模块
from pyecharts.charts import WordCloud#手动输入需要爬取的弹幕cid
cid  = str(input("请输入要爬取视频的cid:"))#设置弹幕api
url = f"https://comment.bilibili.com/{cid}.xml"#获取链接内容赋值给response
response = requests.get(url)#确定网页代码
response.encoding = response.apparent_encoding#通过.text返回网页xml文本内容
xml = response.text#使用lxml方法分析xml中的节点赋值给soup
soup = BeautifulSoup(xml,"lxml")#使用find_all方法查找在soup中为"d"的节点
content_all = soup.find_all("d")#为弹幕数量设置一个初始值
comment_num = 0#创建一个空白列表给词云
wordList = []
#遍历content_all中的所有节点
for comment in content_all:#将每次遍历到的节点的内容,转换为字符串赋值给datadata = comment.string#视小于2且大于10的评论为非弹幕if len(data) >= 2 and len(data) <=10:# 使用jieba.lcut()将data进行分词,赋值给wordswords = jieba.lcut(data)#将切好的词放入列表当中wordList = wordList + words#每次成功判断,计算一次有效弹幕数comment_num += 1#输入当前遍历的弹幕内容print(data)#否则else:#跳过并继续continue
#设置一个空字典
wordDict = {}#从列表中遍历已经分好的词
for word in wordList:#如果词的长度大于1,怎判断为一个词if len(word) > 1:#如果这个词没有在字典的键中if word not in wordDict.keys():#设置这个键的初始值为1wordDict[word] = 1#否则else:#这个词的值+1wordDict[word] += 1#把WordCloud赋值给wordCloud
wordCloud = WordCloud()#添加图标设置。data——pair会警告,但无影响
wordCloud.add( series_name=f"{comment_num}条弹幕的词云图",data_pair = wordDict.items(),word_size_range=[20,80])#设置保存的地址
wordCloud.render(f"/Users/huangliangyu/Desktop/{comment_num}条弹幕的词云图.html")
#格式化输出统计数字
print(F"该视频共有{comment_num}条有效弹幕")

爬取B站弹幕并生成HTML格式的词云图相关推荐

  1. Java爬取B站弹幕 —— Python云图Wordcloud生成弹幕词云

    一 . Java爬取B站弹幕 弹幕的存储位置 如何通过B站视频AV号找到弹幕对应的xml文件号 首先爬取视频网页,将对应视频网页源码获得 就可以找到该视频的av号aid=8678034 还有弹幕序号, ...

  2. 萌新学习Python爬取B站弹幕+R语言分词demo说明

    代码地址如下: http://www.demodashi.com/demo/11578.html 一.写在前面 之前在简书首页看到了Python爬虫的介绍,于是就想着爬取B站弹幕并绘制词云,因此有了这 ...

  3. 用Python爬取B站弹幕并做成词云

    用Python爬取B站弹幕并做成词云 一.获取视频的cid号 1.进入想爬的视频,打开浏览器设置里的"开发者工具": 进入NetWork后等待requests刷出,数据够了后可随意 ...

  4. Python爬取B站弹幕方法介绍

    Python爬取B站弹幕方法介绍 文章目录 Python爬取B站弹幕方法介绍 前言 寻找弹幕数据 编写爬虫 B站弹幕数量 新技术介绍 参考文章 前言 最近同学要做东西,需要用 B 站的视频对应的弹幕数 ...

  5. python接收弹幕_闲着没事,尝试一下用Python爬取B站弹幕呀~

    原标题:闲着没事,尝试一下用Python爬取B站弹幕呀~ 前言 最近同学要做东西,需要用 B 站的视频对应的弹幕数据做分析,于是请我帮忙爬取 B 站视频的弹幕数据. 对于爬虫而言,我们需要找到对应数据 ...

  6. 爬取B站弹幕制作词云图

    大家好,我是天空之城,今天给大家带来,爬取B站弹幕制作词云图. 以下内容部分来自公众号数据分析与统计学之美,号主是大牛,有需要的加他. 首先打开一个b站视频https://www.bilibili.c ...

  7. python爬取b站弹幕并进行数据可视化

    python爬取b站弹幕并进行数据可视化 1.第一步,爬取b站弹幕 我们随便打开一个b站视频 打开开发者模式,在network下搜索list,可以找到该视频的弹幕文件 打开之后是这个样子的 结构还是比 ...

  8. 这八个步骤,Python让你轻松爬取B站弹幕,网友看了都说6

    Python3爬取B站视频弹幕 本文通过8个步骤教你如何使用Python3爬取B站的视频弹幕,快往下看看吧.最后,如果你的时间不是很紧张,并且又想快速的提高,最重要的是不怕吃苦,建议你可以联系维:76 ...

  9. pythongui界面实现爬取b站弹幕_Python爬虫自动化爬取b站实时弹幕实例方法

    免费资源网,https://freexyz.cn/ 最近央视新闻记者王冰冰以清除可爱和专业的新闻业务水平深受众多网友喜爱,b站也有很多up主剪辑了关于王冰冰的视频.我们都是知道b站是一个弹幕网站,那你 ...

  10. 这八个步骤,Python让你轻松爬取B站弹幕,网友看了都说666

    Python3爬取B站视频弹幕 本文通过8个步骤教你如何使用Python3爬取B站的视频弹幕,快往下看看吧. 需要准备的环境: 一个B站账号,需要先登录,否则不能查看历史弹幕记录 联网的电脑和顺手的浏 ...

最新文章

  1. 网络爬虫--之爬起校招信息代码
  2. Redirecting to /bin/systemctl restart sshd.service
  3. ”Can't connect to MySQL server on localhost (10061)”
  4. struct sockaddr_nl 结构体 由来、含义以及使用——获取Linux路由表
  5. oracle_最常见的 5 个导致节点重新启动、驱逐或 CRS 意外重启的问题
  6. Linux 命令(119)—— diff 命令
  7. 单链表删除所有值为x的元素_双链表的基本实现与讲解(C++描述)
  8. 第三章CDMA的原理和应用(1)
  9. 用C语言求解合式公式的主合取范式和主析取范式
  10. comsol matlab script,comsol script
  11. 达梦数据库DM8启动与关闭
  12. 转:用AutoCAD 系统变量编程
  13. linux循环显示系统时间,Linux shell时间处理大全,值得收藏
  14. OpenglES2.0 for Android:来做个地球吧
  15. fails sanity check错误的解决方法
  16. 解放“身材焦虑“、实现“大码自由“,大码女装迎来春天?
  17. 优达学城 Udacity 数据分析 数据科学家 数据工程师 商业分析 SQL
  18. 顺丰丰桥接口开发-java(工具类)
  19. 【youcans 的 OpenCV 例程200篇】132. 形态学重建之孔洞填充算法
  20. 51nod2657二进制数字

热门文章

  1. 如何打造高质量的NLP数据集
  2. 小米qq音乐|小米音乐qq版
  3. 当面试官说“你还有什么问题想问的”,你该如何回答?
  4. 面向对象的15位、18位中国大陆身份证号码解析、验证工具
  5. Unity 之 发布PC端CPU高占用温度高的问题解决方案
  6. 腾讯2019广告算法大赛总结
  7. 将多个Excel工作簿合并到一个Excel工作簿中
  8. Windows官方经典壁纸
  9. NOI试题(题目+答案)(二)
  10. PyQt5简易本地视频播放器