发表于: 2018-01-04 23:36:04
1 971
今天完成的事:
获取bilibili弹幕
打开直播房间,f12打开调试工具,打开network,刷新页面,得到该只播网页的所有请求,直播的弹幕是由POST请求得到的,将请求安“方法”排序,查看POST方法的响应,其中文件“msg”的响应里包含弹幕信息。
查看“msg”文件的消息头的请求网址,就得到了弹幕服务器的网址,将msg文件的参数通过POST方法传递给弹幕服务器即可得到该直播房间的弹幕。
代码如下:
import requests
import json
url='https://api.live.bilibili.com/ajax/msg'
data={'roomid': 5279,
'token':'',
'csrf_token':''}
r=requests.post(url,data=data)
print(r)
#print(r.text)
j=json.loads(r.text)
d=j['data']['room']
#print(json.dumps(j,indent=4))
for room in d:
print('"uid":{0:>10},"name":{1:{3}^10},"弹幕":{2}'.format(room.get('uid'),room.get('nickname'),room.get('text'),chr(12288)))
其中,得到的响应‘r’是字符串类型,需要通过json.loads转换为字典类型,
截图如下:
评论