aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstd-move <26625259+std-move@users.noreply.github.com>2023-09-22 00:20:52 +0200
committerGitHub <noreply@github.com>2023-09-21 22:20:52 +0000
commit568f08051841aedea968258889539741e26009e9 (patch)
tree955fb59f225626088c6a804ceb6429fd22060699
parent904a19ee93195ce0bd4b08bd22b186120afb5b17 (diff)
[ie/iprima] Fix extractor (#7216)
Closes #7229 Authored by: std-move
-rw-r--r--yt_dlp/extractor/iprima.py9
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(