[ie/iprima] Fix extractor (#7216)

Closes #7229
Authored by: std-move
This commit is contained in:
std-move 2023-09-22 00:20:52 +02:00 committed by GitHub
parent 904a19ee93
commit 568f080518
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -134,10 +134,17 @@ def _real_extract(self, url):
), webpage, 'real id', group='id', default=None) ), webpage, 'real id', group='id', default=None)
if not video_id: 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( video_id = traverse_obj(
nuxt_data, (..., 'content', 'additionals', 'videoPlayId', {str}), get_all=False) 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: if not video_id:
self.raise_no_formats('Unable to extract video ID from webpage') self.raise_no_formats('Unable to extract video ID from webpage')