爬取b站视频的弹幕

本文介绍了如何使用Python爬取B站视频弹幕,包括获取并格式化弹幕数据,将其保存为CSV,以及利用jieba进行分词并生成词云图的过程。
摘要由CSDN通过智能技术生成

文章目录

目录

文章目录

前言

二、爬取

1.获取弹幕并格式化

2.保存数据

3.绘制词云图 


前言

爬取b站视频弹幕,并生成词云图。

一、引入库

from bs4 import BeautifulSoup#负责解析网页源码
import requests#负责爬取网页源码
import re#对解析后的文件进行弹幕匹配

import csv
import wordcloud
import jieba.analyse

二、爬取

1.获取弹幕并格式化

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36",
    }
response = requests.get("https://comment.bilibili.com/577997830.xml", headers=headers)
html_doc = response.content.decode('utf-8')
format = re.compile("<d.*?>(.*?)</d>")
DanMu = format.findall(html_doc)
#逐个输出弹幕
for i in DanMu:
    print(i)

运行结果:

2.保存数据

代码如下

for i in DanMu:
    with open(r'.\b站弹.csv',"a", newline='',encoding='utf-8-sig') as csvfile: 
        writer= csv.writer(csvfile)
        danmu = []
        danmu.append(i)
        writer.writerow(danmu)

3.绘制词云图 

# 从外部.txt文件中读取大段文本,存入变量txt中
f = open('./b站弹.csv',encoding='utf-8')
txt = f.read()

# 构建词云对象w,设置词云图片宽、高、字体、背景颜色等参数
w = wordcloud.WordCloud(width=1000,
                        height=700,
                        background_color='white',
                        font_path='msyh.ttc')

# 将txt变量传入w的generate()方法,给词云输入文字
w.generate(txt)

# 将词云图片导出到当前文件夹
w.to_file('./output3.png')

使用jieba分词 

f =open(r'.\b站弹.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)

出现频率高的词:

王嘉尔,啊啊啊,太帅,七哥,王嘉尔牛,嘉尔,切拉,好帅,真的,哈哈哈,收音,内娱,我爱你,开麦,口香糖,舞台,骄傲,首歌,嘎嘎,卧槽,音乐节,救命,亿遍,宇多田光,王哥,哈哈哈哈,垫音,耳麦,这个,呜呜,新歌,好听,太野,China,这首,歌手,现场,Jackson,WANG,CHINA

词云图:

 

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值