未分类

抓取哔哩哔哩直播弹幕

1.打开谷歌浏览器,找到需要抓取的bilibili直播页面,按F12打开开发者工具,再次刷新当前直播页面,

2.将Method设置为显示,点击排序,找到Method为Post的msg请求

3.这里可以找到侧边栏的弹幕信息,这里的返回数据有十条,如果观看的人数较少,返回的数据会有重复

4.这里是请求地址及请求方式

5.这里包含着需要提交的form表单数据,这里的roomid有时和当前直播网址的尾号不一样

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# -*- coding: utf-8 -*-

import requests
import time

# 请求弹幕的地址
url = 'https://api.live.bilibili.com/ajax/msg'

# 要提交的form表单数据
form = {'roomid': '478948',
'csrf_token': 'b0a925f32a985f10b8ec0fcb3d1'}

# 每隔一段时间请求一次,
while True:
time.sleep(2)
# 还可以写成requests.request('POST', url, data=form)
response = requests.post(url, data=form)
# 将弹幕的内容提取到列表
content = list(map(lambda i: response.json()['data']['room'][i]['text'], range(10)))
for i in content:
print(i)

1
2
3
4
5
content = list(map(lambda i: response.json()['data']['room'][i]['text'], range(10)))
# 跟下面的代码是一样的含义:
content = []
for i in range(10):
content.append(response.json()['data']['room'][i]['text'])
分享到