mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-09-20 09:21:25 +02:00
Compare commits
2 Commits
ae38877cd9
...
a06ebc9bf7
Author | SHA1 | Date | |
---|---|---|---|
|
a06ebc9bf7 | ||
|
c2b46930b6 |
|
@ -114,11 +114,14 @@ class BilibiliBaseIE(InfoExtractor):
|
|||
}]
|
||||
}
|
||||
|
||||
video_info_json = self._download_json(
|
||||
subtitle_info = traverse_obj(self._download_json(
|
||||
'https://api.bilibili.com/x/player/v2', video_id,
|
||||
query={'aid': aid, 'cid': cid} if aid else {'bvid': video_id, 'cid': cid},
|
||||
note=f'Extracting subtitle info {cid}')
|
||||
for s in traverse_obj(video_info_json, ('data', 'subtitle', 'subtitles', ...)):
|
||||
note=f'Extracting subtitle info {cid}'), ('data', 'subtitle'))
|
||||
if not traverse_obj(subtitle_info, 'subtitles') and traverse_obj(subtitle_info, 'allow_submit'):
|
||||
if not self._get_cookies('https://api.bilibili.com').get('SESSDATA'): # no login session cookie
|
||||
self.report_warning(f'CC subtitles (if exist) are only visible when logged in. {self._login_hint()}')
|
||||
for s in traverse_obj(subtitle_info, ('subtitles', ...)):
|
||||
subtitles.setdefault(s['lan'], []).append({
|
||||
'ext': 'srt',
|
||||
'data': self.json2srt(self._download_json(s['subtitle_url'], video_id))
|
||||
|
@ -899,7 +902,7 @@ class BilibiliCheeseSeasonIE(BilibiliCheeseIE):
|
|||
'view_count': int,
|
||||
}
|
||||
}],
|
||||
'skip': 'paid video in list',
|
||||
'params': {'playlist_items': '1'},
|
||||
}, {
|
||||
'url': 'https://www.bilibili.com/cheese/play/ss5918',
|
||||
'info_dict': {
|
||||
|
@ -908,11 +911,16 @@ class BilibiliCheeseSeasonIE(BilibiliCheeseIE):
|
|||
'description': '帮普通人建立世界模型,降低人与人的沟通门槛',
|
||||
},
|
||||
'playlist_mincount': 5,
|
||||
'skip': 'paid video in list',
|
||||
}]
|
||||
|
||||
def _get_cheese_entries(self, season_info):
|
||||
for ep_id in traverse_obj(season_info, ('episodes', lambda _, v: v['episode_can_view'], 'id')):
|
||||
yield self.url_result(f'https://www.bilibili.com/cheese/play/ep{ep_id}', BilibiliCheeseIE, str(ep_id))
|
||||
yield {
|
||||
**self._extract_episode(season_info, ep_id, self._HEADERS),
|
||||
'extractor_key': BilibiliCheeseIE.ie_key(),
|
||||
'extractor': 'BilibiliCheese',
|
||||
}
|
||||
|
||||
def _real_extract(self, url):
|
||||
season_id = self._match_id(url)
|
||||
|
|
Loading…
Reference in New Issue
Block a user