python获取企鹅电竞弹幕信息

由于百度云盘经常更新所以以后的百度云链接会在评论区贴上。谢谢

相信大家已经看过乙站的弹幕获取,相信也有人去试试过别的直播网站的弹幕。可能在企鹅电竞这懵逼了。

哈哈哈。其实小编也是逐渐的才搞明白的。

首先,打开企鹅电竞的官网,随便找个直播间。

小编喜欢看爱情公寓就确定在这个直播间了

接下来和大家分析一下企鹅电竞这些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 +'的消息:\t'+ content)
            time.sleep(2)
    except:
        print('发生未知错误QAQ')
        continue

猜你喜欢

转载自blog.csdn.net/bimo123/article/details/81162067