diff options
| author | Simon Sawicki <contact@grub4k.xyz> | 2024-04-21 13:40:38 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-21 13:40:38 +0200 |
| commit | 3ee1194288981c4f2c4abd8315326de0c424d2ce (patch) | |
| tree | 7ecfd37c6dc6fc09bca647c7f7ea6e4239663ca2 /yt_dlp/extractor/common.py | |
| parent | e3b42d8b1b8bcfff7ba146c19fc3f6f6ba843cea (diff) | |
[ie] Make `_search_nextjs_data` non fatal (#8937)
Authored by: Grub4K
Diffstat (limited to 'yt_dlp/extractor/common.py')
| -rw-r--r-- | yt_dlp/extractor/common.py | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/yt_dlp/extractor/common.py b/yt_dlp/extractor/common.py index 57bbf9bdf..bebbc6b43 100644 --- a/yt_dlp/extractor/common.py +++ b/yt_dlp/extractor/common.py @@ -1738,12 +1738,16 @@ class InfoExtractor: traverse_json_ld(json_ld) return filter_dict(info) - def _search_nextjs_data(self, webpage, video_id, *, transform_source=None, fatal=True, **kw): - return self._parse_json( - self._search_regex( - r'(?s)<script[^>]+id=[\'"]__NEXT_DATA__[\'"][^>]*>([^<]+)</script>', - webpage, 'next.js data', fatal=fatal, **kw), - video_id, transform_source=transform_source, fatal=fatal) + def _search_nextjs_data(self, webpage, video_id, *, fatal=True, default=NO_DEFAULT, **kw): + if default == '{}': + self._downloader.deprecation_warning('using `default=\'{}\'` is deprecated, use `default={}` instead') + default = {} + if default is not NO_DEFAULT: + fatal = False + + return self._search_json( + r'<script[^>]+id=[\'"]__NEXT_DATA__[\'"][^>]*>', webpage, 'next.js data', + video_id, end_pattern='</script>', fatal=fatal, default=default, **kw) def _search_nuxt_data(self, webpage, video_id, context_name='__NUXT__', *, fatal=True, traverse=('data', 0)): """Parses Nuxt.js metadata. This works as long as the function __NUXT__ invokes is a pure function""" |
