Python利用B站弹幕制作词云图
【摘要】 Python利用B站弹幕制作词云图上篇介绍了B站评论的获取方法和数据分析过程,本次将详细讲解B站弹幕爬取原理解析,这里讲解最简单的获取b站弹幕的方法,但也有局限性,仅仅获取了当日的弹幕,但当我再次尝试后,403了,以后再尝试改进吧。可以先看看这个爬取冰冰B站千条评论,看看大家说了什么@[toc] 原理 概念cid : 爬取弹幕需要的id号,可以由BV号通过API接口获得 步骤以==冰冰第一条...
Python利用B站弹幕制作词云图
上篇介绍了B站评论的获取方法和数据分析过程,本次将详细讲解B站弹幕爬取原理解析,这里讲解最简单的获取b站弹幕的方法,但也有局限性,仅仅获取了当日的弹幕,但当我再次尝试后,403了,以后再尝试改进吧。
可以先看看这个爬取冰冰B站千条评论,看看大家说了什么
@[toc]
原理
概念
- cid : 爬取弹幕需要的id号,可以由BV号通过API接口获得
步骤
以==冰冰第一条b站视频为例==为例
- 视频链接:https://www.bilibili.com/video/BV1vy4y1i7bS,得到BV号=BV1vy4y1i7bS
- BV转cid,浏览器输入:https://api.bilibili.com/x/player/pagelist?bvid=BV1vy4y1i7bS&jsonp=jsonp,得到:cid=273039189。由cid得到当日条数小于等于1000的弹幕
- 浏览器输入https://api.bilibili.com/x/v1/dm/list.so?oid=273039189
- 该页面为XML格式,python可通过xmltodict库解析XML格式,在提取出来相应的弹幕文字,就可以进行词频分析,得到词云。
实际案例
import requests
import json
from urllib import parse
获取视频cid
url = "https://api.bilibili.com/x/player/pagelist?bvid="+str(bvid)+"&jsonp=jsonp"
response = requests.get(url)
dirt=json.loads(response.text)
cid=dirt['data'][0]['cid']
#cid号 已得到
nowDMget(cid) #调用爬取弹幕函数
爬取当前的弹幕函数
def nowDMget(cid):
url = "https://api.bilibili.com/x/v1/dm/list.so?oid="+str(cid)
response = requests.get(url)
response.encoding = 'utf-8'
data = parse(response.text)
liat_DM=data['i']['d']
print(len( liat_DM))
for i in range(len( liat_DM)):
print(liat_DM[i]['#text'])
词云图
推荐阅读:
- 使用xpath爬取数据
- jupyter notebook使用
- BeautifulSoup爬取豆瓣电影Top250
- 一篇文章带你掌握requests模块
- Python网络爬虫基础–BeautifulSoup
此次的获取方法肯定不是最优的,抛砖引玉。希望大家可以把更好的方法打在评论,或私信给我
到这里就结束了,如果对你有帮助你,欢迎点赞关注,你的点赞对我很重要
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)