diff options
author | N/Ame <173015200+grqz@users.noreply.github.com> | 2024-12-05 12:11:55 +1300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-04 23:11:55 +0000 |
commit | fca3eb5f8be08d5fab2e18b45b7281a12e566725 (patch) | |
tree | 25147ccd026f7e6a132735dcef2cdf54ff8af901 | |
parent | 2e49c789d3eebc39af8910705d65a98bca0e4c4f (diff) |
[ie/bilibili] Fix HD formats extraction (#11734)
Fixes dc1687648077c5bf64863b307ecc5ab7e029bd8d
Closes #10554
Authored by: grqz
-rw-r--r-- | yt_dlp/extractor/bilibili.py | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/yt_dlp/extractor/bilibili.py b/yt_dlp/extractor/bilibili.py index 91619d9d5..2db951a60 100644 --- a/yt_dlp/extractor/bilibili.py +++ b/yt_dlp/extractor/bilibili.py @@ -681,12 +681,6 @@ class BiliBiliIE(BilibiliBaseIE): old_video_id = format_field(aid, None, f'%s_part{part_id or 1}') cid = traverse_obj(video_data, ('pages', part_id - 1, 'cid')) if part_id else video_data.get('cid') - play_info = ( - traverse_obj( - self._search_json(r'window\.__playinfo__\s*=', webpage, 'play info', video_id, default=None), - ('data', {dict})) - or self._download_playinfo(video_id, cid, headers=headers, query={'try_look': 1})) - festival_info = {} if is_festival: festival_info = traverse_obj(initial_state, { @@ -724,6 +718,13 @@ class BiliBiliIE(BilibiliBaseIE): duration=traverse_obj(initial_state, ('videoData', 'duration', {int_or_none})), __post_extractor=self.extract_comments(aid)) + play_info = None + if self.is_logged_in: + play_info = traverse_obj( + self._search_json(r'window\.__playinfo__\s*=', webpage, 'play info', video_id, default=None), + ('data', {dict})) + if not play_info: + play_info = self._download_playinfo(video_id, cid, headers=headers, query={'try_look': 1}) formats = self.extract_formats(play_info) if video_data.get('is_upower_exclusive'): |