From 9871321a66c5d45af8bd07e3adacbd590f84169a Mon Sep 17 00:00:00 2001 From: wbt5 Date: Sun, 17 Nov 2019 22:06:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BC=81=E9=B9=85=E7=94=B5?= =?UTF-8?q?=E7=AB=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- egame-qq.py | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 egame-qq.py diff --git a/egame-qq.py b/egame-qq.py new file mode 100644 index 0000000..2b524e0 --- /dev/null +++ b/egame-qq.py @@ -0,0 +1,42 @@ +# 获取企鹅电竞的真实流媒体地址。 +# 默认画质为超清 + + +import requests +import json +import re + + +def get_real_url(rid): + room_url = 'https://share.egame.qq.com/cgi-bin/pgg_async_fcgi' + post_data = { + 'param': '''{"0":{"module":"pgg_live_read_svr","method":"get_live_and_profile_info","param":{"anchor_id":''' + str(rid) + ''',"layout_id":"hot","index":1,"other_uid":0}}}''' + } + try: + response = requests.post(url=room_url, data=post_data).json() + data = response.get('data', 0) + if data: + video_info = data.get('0').get( + 'retBody').get('data').get('video_info') + pid = video_info.get('pid', 0) + if pid: + is_live = data.get('0').get( + 'retBody').get('data').get('profile_info').get('is_live', 0) + if is_live: + play_url = video_info.get('stream_infos')[ + 0].get('play_url') + real_url = re.findall(r'([\w\W]+?)&uid=', play_url)[0] + else: + real_url = '直播间未开播' + else: + real_url = '直播间未启用' + else: + real_url = '直播间不存在' + except: + real_url = '数据请求错误' + return real_url + + +rid = input('请输入企鹅电竞房间号:\n') +real_url = get_real_url(rid) +print('该直播间源地址为:\n' + real_url)