爬取得到的csv表格以及可视化图形展示:
csv表格截图:
2D条形图以及3D条形图:
提前需要pip安装的三个库
一个异步加载请求库:
pip install selenium (下载对应版本可用selenium == <版本号>)
两个可视化库(任选其一即可):
pip install matplotlib(下载对应版本同以上方法)
pip install pyecharts (下载对应版本同以上方法)
两种获取b站评论的方法
由于b站api参数更改了,未能够找到合适的方式进行分页爬取,故采用以下两种方式
保存多个url地址
打开开发者工具,找到图中红圈的位置
打开后查看其中的json信息找到replies,如下图所示:
每一则url会包含20条评论信息
其中包含用户的评论内容(content)评论地址(ip)用户名(uname)等信息
刷新找到多条含有url地址的保存进列表中,如以下所示
ulist = [ "https://api.bilibili.com/x/v2/reply/wbi/main?oid=320392432&type=1&mode=3&pagination_str=%7B%2"
"2offset%22:%22%7B%5C%22type%5C%22:1,%5C%22direction%5C%22:1,%5C%22session_id%5C%22:%5C%221734639"
"697397073%5C%22,%5C%22data%5C%22:%7B%7D%7D%22%7D&plat=1&web_location=1315875&w_rid=0b96518e2f520"
"2e2b4036fb3d596d4ff&wts=1693984070",
"https://api.bilibili.com/x/v2/reply/wbi/main?oid=320392432&type=1&mode=3&pagination_str=%7B%22offset"
"%22:%22%7B%5C%22type%5C%22:1,%5C%22direction%5C%22:1,%5C%22session_id%5C%22:%5C%221734639697397073%5C%2"
"2,%5C%22data%5C%22:%7B%7D%7D%22%7D&plat=1&web_location=1315875&w_rid=27358d1f64a9e52b91756210beee635d&w"
"ts=1693984100"]
此种方式缺点时需要手动去寻找对应的url地址
异步加载方式获取视频的xhr信息:
首先需要获取b站的cookies文件。
首先是需要读取cookies文件
ListCookies = []
with open('ACookies.txt', 'r') as fw:
for line in fw:
cookie = json.loads(line.strip()) # Parse JSON data from each line
ListCookies.append(cookie)
将获取的cookies文件请求一次b站
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_option