python获取企鹅电竞弹幕信息

2019-04-13 12:53发布

https://blog.csdn.net/bimo123/article/details/81162067

由于百度云盘经常更新所以以后的百度云链接会在评论区贴上。谢谢 相信大家已经看过乙站的弹幕获取,相信也有人去试试过别的直播网站的弹幕。可能在企鹅电竞这懵逼了。 哈哈哈。其实小编也是逐渐的才搞明白的。 首先,打开企鹅电竞的官网,随便找个直播间。 小编喜欢看爱情公寓就确定在这个直播间了 接下来和大家分析一下企鹅电竞这些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