diff options
author | std-move <26625259+std-move@users.noreply.github.com> | 2023-09-22 00:20:52 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-21 22:20:52 +0000 |
commit | 568f08051841aedea968258889539741e26009e9 (patch) | |
tree | 955fb59f225626088c6a804ceb6429fd22060699 | |
parent | 904a19ee93195ce0bd4b08bd22b186120afb5b17 (diff) |
[ie/iprima] Fix extractor (#7216)
Closes #7229
Authored by: std-move
-rw-r--r-- | yt_dlp/extractor/iprima.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/yt_dlp/extractor/iprima.py b/yt_dlp/extractor/iprima.py index 6dec1510d..f7aa579b3 100644 --- a/yt_dlp/extractor/iprima.py +++ b/yt_dlp/extractor/iprima.py @@ -134,11 +134,18 @@ class IPrimaIE(InfoExtractor): ), webpage, 'real id', group='id', default=None) if not video_id: - nuxt_data = self._search_nuxt_data(webpage, video_id, traverse='data') + nuxt_data = self._search_nuxt_data(webpage, video_id, traverse='data', fatal=False) video_id = traverse_obj( nuxt_data, (..., 'content', 'additionals', 'videoPlayId', {str}), get_all=False) if not video_id: + nuxt_data = self._search_json( + r'<script[^>]+\bid=["\']__NUXT_DATA__["\'][^>]*>', + webpage, 'nuxt data', None, end_pattern=r'</script>', contains_pattern=r'\[(?s:.+)\]') + + video_id = traverse_obj(nuxt_data, lambda _, v: re.fullmatch(r'p\d+', v), get_all=False) + + if not video_id: self.raise_no_formats('Unable to extract video ID from webpage') metadata = self._download_json( |