mirror of
https://github.com/soimort/you-get.git
synced 2025-02-03 08:43:58 +03:00
Merge branch 'develop' of https://github.com/liushuyu/you-get into liushuyu-develop
This commit is contained in:
commit
1a979b127a
@ -140,6 +140,8 @@ class Bilibili(VideoExtractor):
|
|||||||
self.movie_entry(**kwargs)
|
self.movie_entry(**kwargs)
|
||||||
elif 'bangumi.bilibili.com' in self.url:
|
elif 'bangumi.bilibili.com' in self.url:
|
||||||
self.bangumi_entry(**kwargs)
|
self.bangumi_entry(**kwargs)
|
||||||
|
elif 'bangumi/' in self.url:
|
||||||
|
self.bangumi_entry(**kwargs)
|
||||||
elif 'live.bilibili.com' in self.url:
|
elif 'live.bilibili.com' in self.url:
|
||||||
self.live_entry(**kwargs)
|
self.live_entry(**kwargs)
|
||||||
elif 'vc.bilibili.com' in self.url:
|
elif 'vc.bilibili.com' in self.url:
|
||||||
@ -235,22 +237,22 @@ class Bilibili(VideoExtractor):
|
|||||||
|
|
||||||
def bangumi_entry(self, **kwargs):
|
def bangumi_entry(self, **kwargs):
|
||||||
bangumi_id = re.search(r'(\d+)', self.url).group(1)
|
bangumi_id = re.search(r'(\d+)', self.url).group(1)
|
||||||
bangumi_data = get_bangumi_info(bangumi_id)
|
|
||||||
bangumi_payment = bangumi_data.get('payment')
|
|
||||||
if bangumi_payment and bangumi_payment['price'] != '0':
|
|
||||||
log.w("It's a paid item")
|
|
||||||
# ep_ids = collect_bangumi_epids(bangumi_data)
|
|
||||||
|
|
||||||
frag = urllib.parse.urlparse(self.url).fragment
|
frag = urllib.parse.urlparse(self.url).fragment
|
||||||
if frag:
|
if frag:
|
||||||
episode_id = frag
|
episode_id = frag
|
||||||
else:
|
else:
|
||||||
episode_id = re.search(r'first_ep_id\s*=\s*"(\d+)"', self.page)
|
episode_id = re.search(r'first_ep_id\s*=\s*"(\d+)"', self.page) or re.search(r'\/ep(\d+)', self.url).group(1)
|
||||||
# cont = post_content('http://bangumi.bilibili.com/web_api/get_source', post_data=dict(episode_id=episode_id))
|
# cont = post_content('http://bangumi.bilibili.com/web_api/get_source', post_data=dict(episode_id=episode_id))
|
||||||
# cid = json.loads(cont)['result']['cid']
|
# cid = json.loads(cont)['result']['cid']
|
||||||
cont = get_content('http://bangumi.bilibili.com/web_api/episode/{}.json'.format(episode_id))
|
cont = get_content('http://bangumi.bilibili.com/web_api/episode/{}.json'.format(episode_id))
|
||||||
ep_info = json.loads(cont)['result']['currentEpisode']
|
ep_info = json.loads(cont)['result']['currentEpisode']
|
||||||
|
|
||||||
|
bangumi_data = get_bangumi_info(str(ep_info['seasonId']))
|
||||||
|
bangumi_payment = bangumi_data.get('payment')
|
||||||
|
if bangumi_payment and bangumi_payment['price'] != '0':
|
||||||
|
log.w("It's a paid item")
|
||||||
|
# ep_ids = collect_bangumi_epids(bangumi_data)
|
||||||
|
|
||||||
index_title = ep_info['indexTitle']
|
index_title = ep_info['indexTitle']
|
||||||
long_title = ep_info['longTitle'].strip()
|
long_title = ep_info['longTitle'].strip()
|
||||||
cid = ep_info['danmaku']
|
cid = ep_info['danmaku']
|
||||||
@ -295,10 +297,10 @@ def collect_bangumi_epids(json_data):
|
|||||||
eps = json_data['episodes'][::-1]
|
eps = json_data['episodes'][::-1]
|
||||||
return [ep['episode_id'] for ep in eps]
|
return [ep['episode_id'] for ep in eps]
|
||||||
|
|
||||||
def get_bangumi_info(bangumi_id):
|
def get_bangumi_info(season_id):
|
||||||
BASE_URL = 'http://bangumi.bilibili.com/jsonp/seasoninfo/'
|
BASE_URL = 'http://bangumi.bilibili.com/jsonp/seasoninfo/'
|
||||||
long_epoch = int(time.time() * 1000)
|
long_epoch = int(time.time() * 1000)
|
||||||
req_url = BASE_URL + bangumi_id + '.ver?callback=seasonListCallback&jsonp=jsonp&_=' + str(long_epoch)
|
req_url = BASE_URL + season_id + '.ver?callback=seasonListCallback&jsonp=jsonp&_=' + str(long_epoch)
|
||||||
season_data = get_content(req_url)
|
season_data = get_content(req_url)
|
||||||
season_data = season_data[len('seasonListCallback('):]
|
season_data = season_data[len('seasonListCallback('):]
|
||||||
season_data = season_data[: -1 * len(');')]
|
season_data = season_data[: -1 * len(');')]
|
||||||
|
Loading…
Reference in New Issue
Block a user