由于百度云盘经常更新所以以后的百度云链接会在评论区贴上。谢谢
相信大家已经看过乙站的弹幕获取,相信也有人去试试过别的直播网站的弹幕。可能在企鹅电竞这懵逼了。
哈哈哈。其实小编也是逐渐的才搞明白的。
首先,打开企鹅电竞的官网,随便找个直播间。
小编喜欢看爱情公寓就确定在这个直播间了
接下来和大家分析一下企鹅电竞这些XHR下面的分类有哪几种:
第一种:
其实这是直播的视频不过都是一段一段的。如果你不信,可以打开这个网址,会自动下载一个文件,这就是直播视频的一段
第二种:
这种是一个指向连续的视频的文件,后台只是不断传送间隔视频,那么也一定要把视频连续起来,所以这些文件也就是起到这样的作用。
第三种也就是我们今天要关注的文件:
也就是这样以PGG开头的文件:
而这种文件也分为种,一种是空白的,还有是有弹幕信息的:
接下来源代码奉上:
这个好像是爱情公寓的直播间的弹幕的地址,那么自然也就有人问了,换别的直播间要这么操作呢?
注意:画框框的地方这里面一个是直播间的房间号还有后面的VID明显是拼起来的,但是小编也不怎么了解是哪里来的,如果有小伙伴们知道,希望大家分享你们宝贵的意见。所以呢修改这两个信息,就可以换另外的直播间的弹幕进行获取了。
import requests, time
url = 'http://wdanmaku.egame.qq.com/cgi-bin/pgg_barrage_async_fcgi'
ls = []
while True:
try:
timestamp = int(time.time())
data = {
'_t': timestamp,
'g_tk': '238430851',
'p_tk':'' ,
'param': '{"key":{"module":"pgg_live_barrage_svr","method":"get_barrage","param":{"anchor_id":322842111,"vid":"322842111_1532209681","scenes":4096,"last_tm":5}}}',
'app_info': '{"platform":4,"terminal_type":2,"egame_id":"egame_official","version_code":"9.9.9","version_name":"9.9.9"}',
'tt': '1'
}
response = requests.get(url, params = data)
response.encoding = 'utf-8'
msg_list = response.json()['data']['key']['retBody']['data']['msg_list']
if msg_list == []:
continue
for i in msg_list:
msg_id = i['msgid']
username = i['nick']
content = i['content']
if '{0}' in content:
continue
if msg_id in ls:
continue
if len(ls) <= 10:
ls.append(msg_id)
else:
ls.pop(0)
ls.append(msg_id)
print(username +'的消息: '+ content)
time.sleep(2)
except:
print('发生未知错误QAQ')
continue