mirror of
https://github.com/soimort/you-get.git
synced 2025-02-03 08:43:58 +03:00
fix bilibili
update xml-url to get all format of video
This commit is contained in:
parent
b28d78f71d
commit
a3b15279b6
@ -28,7 +28,8 @@ class Bilibili(VideoExtractor):
|
|||||||
live_room_init_api_url = 'https://api.live.bilibili.com/room/v1/Room/room_init?id={}'
|
live_room_init_api_url = 'https://api.live.bilibili.com/room/v1/Room/room_init?id={}'
|
||||||
live_room_info_api_url = 'https://api.live.bilibili.com/room/v1/Room/get_info?room_id={}'
|
live_room_info_api_url = 'https://api.live.bilibili.com/room/v1/Room/get_info?room_id={}'
|
||||||
|
|
||||||
SEC1 = '1c15888dc316e05a15fdd0a02ed6584f'
|
#SEC1 = '1c15888dc316e05a15fdd0a02ed6584f'
|
||||||
|
SEC1 = '94aba54af9065f71de72f5508f1cd42e'
|
||||||
SEC2 = '9b288147e5474dd2aa67085f716c560d'
|
SEC2 = '9b288147e5474dd2aa67085f716c560d'
|
||||||
stream_types = [
|
stream_types = [
|
||||||
{'id': 'hdflv'},
|
{'id': 'hdflv'},
|
||||||
@ -44,7 +45,7 @@ class Bilibili(VideoExtractor):
|
|||||||
@staticmethod
|
@staticmethod
|
||||||
def bilibili_stream_type(urls):
|
def bilibili_stream_type(urls):
|
||||||
url = urls[0]
|
url = urls[0]
|
||||||
if 'hd.flv' in url or '-112.flv' in url:
|
if 'hd.flv' in url or '-80.flv' in url:
|
||||||
return 'hdflv', 'flv'
|
return 'hdflv', 'flv'
|
||||||
if '-64.flv' in url:
|
if '-64.flv' in url:
|
||||||
return 'flv720', 'flv'
|
return 'flv720', 'flv'
|
||||||
@ -59,7 +60,8 @@ class Bilibili(VideoExtractor):
|
|||||||
def api_req(self, cid, quality, bangumi, bangumi_movie=False, **kwargs):
|
def api_req(self, cid, quality, bangumi, bangumi_movie=False, **kwargs):
|
||||||
ts = str(int(time.time()))
|
ts = str(int(time.time()))
|
||||||
if not bangumi:
|
if not bangumi:
|
||||||
params_str = 'cid={}&player=1&quality={}&ts={}'.format(cid, quality, ts)
|
#params_str = 'cid={}&player=1&quality={}&ts={}'.format(cid, quality, ts)
|
||||||
|
params_str = 'appkey=84956560bc028eb7&cid={}&otype=xml&qn={}&quality={}&type='.format(cid, quality, quality)
|
||||||
chksum = hashlib.md5(bytes(params_str+self.SEC1, 'utf8')).hexdigest()
|
chksum = hashlib.md5(bytes(params_str+self.SEC1, 'utf8')).hexdigest()
|
||||||
api_url = self.api_url + params_str + '&sign=' + chksum
|
api_url = self.api_url + params_str + '&sign=' + chksum
|
||||||
else:
|
else:
|
||||||
@ -97,7 +99,7 @@ class Bilibili(VideoExtractor):
|
|||||||
quality = 'hdflv' if bangumi else 'flv'
|
quality = 'hdflv' if bangumi else 'flv'
|
||||||
|
|
||||||
info_only = kwargs.get('info_only')
|
info_only = kwargs.get('info_only')
|
||||||
for qlt in range(4, -1, -1):
|
for qlt in [116,112,80,74,64,32,16,15]:
|
||||||
api_xml = self.api_req(cid, qlt, bangumi, **kwargs)
|
api_xml = self.api_req(cid, qlt, bangumi, **kwargs)
|
||||||
self.parse_bili_xml(api_xml)
|
self.parse_bili_xml(api_xml)
|
||||||
if not info_only or stream_id:
|
if not info_only or stream_id:
|
||||||
|
Loading…
Reference in New Issue
Block a user