diff --git a/yt_dlp/extractor/bilibili.py b/yt_dlp/extractor/bilibili.py index 8675061d1a..61e5921c01 100644 --- a/yt_dlp/extractor/bilibili.py +++ b/yt_dlp/extractor/bilibili.py @@ -1141,6 +1141,12 @@ class BilibiliCheeseBaseIE(BilibiliBaseIE): query={'avid': aid, 'cid': cid, 'ep_id': ep_id, 'fnval': 16, 'fourk': 1}, headers=self._HEADERS, note='Downloading playinfo')['data'] + if traverse_obj(play_info, 'is_drm'): + self.report_drm(ep_id) + if traverse_obj(play_info, 'is_preview'): + self.report_warning('Only preview is available. Login and purchase course ' + f'to download full episode. {self._login_hint()}', ep_id) + return { 'id': str_or_none(ep_id), 'episode_id': str_or_none(ep_id), @@ -1193,6 +1199,9 @@ class BilibiliCheeseIE(BilibiliCheeseBaseIE): 'thumbnail': r're:^https?://.*\.(jpg|jpeg|png)$', 'view_count': int, }, + }, { + 'url': 'https://www.bilibili.com/cheese/play/ep1881588', + 'expected_exception': 'ExtractorError', # widevine DRM }] def _real_extract(self, url):