发表于: 2018-01-04 23:36:04

1 972


今天完成的事:

获取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转换为字典类型,

截图如下:


返回列表 返回列表
评论

    分享到