1
0
mirror of https://github.com/wbt5/real-url.git synced 2025-06-16 15:59:57 +08:00
zhibo-url/zhibotv.py
wbt5 14e2cf7817
优化代码 体育直播TV(#166)
-添加头
-优化代码
2021-11-13 00:35:35 +08:00

64 lines
1.7 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# -*- coding: utf-8 -*-
# @Time: 2021/5/13 20:27
# @Project: real-url
# @Author: wbt5
# @Blog: https://wbt5.com
import requests
class ZhiBotv:
def __init__(self, rid):
"""
中国体育&新传宽频直播间地址如https://v.zhibo.tv/10007
Args:
rid:房间号
"""
self.rid = rid
self.params = {
'token': '',
'roomId': self.rid,
'angleId': '',
'lineId': '',
'definition': 'hd',
'statistics': 'pc|web|1.0.0|0|0|0|local|5.0.1',
}
self.BASE_URL = 'https://rest.zhibo.tv/room/get-pull-stream-info-v430'
self.HEADERS = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/95.0.4638.69 Safari/537.36 ',
'Referer': 'https://www.zhibo.tv/live/'
}
def get_real_url(self):
"""
no streaming 没开播;
non-existent rid 房间号不存在;
:return: url
"""
with requests.Session() as s:
res = s.get(self.BASE_URL, params=self.params, headers=self.HEADERS).json()
if 'hlsHUrl' in res['data']:
url = res['data'].get('hlsHUrl')
if url:
return url
else:
raise Exception('no streaming')
else:
raise Exception('non-existent rid')
def get_real_url(rid):
try:
zbtv = ZhiBotv(rid)
return zbtv.get_real_url()
except Exception as e:
print('Exception', e)
return False
if __name__ == '__main__':
r = input('请输入中国体育房间号:\n')
print(get_real_url(r))