diff options
author | Sergey M․ <dstftw@gmail.com> | 2020-09-06 10:45:57 +0700 |
---|---|---|
committer | Sergey M․ <dstftw@gmail.com> | 2020-09-06 10:45:57 +0700 |
commit | 5ed05f26adea517aa715d5ec4b0dccfea30b2b8e (patch) | |
tree | 20feec373fae69b8245be9ab6d43898ad06d0321 | |
parent | 841b683804c6f706554bf7607e52072575358445 (diff) | |
download | youtube-dl-5ed05f26adea517aa715d5ec4b0dccfea30b2b8e.tar.xz |
[svtplay] Fix svt id extraction (closes #26425, closes #26428, closes #26438)
-rw-r--r-- | youtube_dl/extractor/svt.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/youtube_dl/extractor/svt.py b/youtube_dl/extractor/svt.py index e12389cad..8e9ec2ca3 100644 --- a/youtube_dl/extractor/svt.py +++ b/youtube_dl/extractor/svt.py @@ -224,9 +224,15 @@ class SVTPlayIE(SVTPlayBaseIE): self._adjust_title(info_dict) return info_dict - svt_id = self._search_regex( - r'<video[^>]+data-video-id=["\']([\da-zA-Z-]+)', - webpage, 'video id') + svt_id = try_get( + data, lambda x: x['statistics']['dataLake']['content']['id'], + compat_str) + + if not svt_id: + svt_id = self._search_regex( + (r'<video[^>]+data-video-id=["\']([\da-zA-Z-]+)', + r'"content"\s*:\s*{.*?"id"\s*:\s*"([\da-zA-Z-]+)"'), + webpage, 'video id') return self._extract_by_video_id(svt_id, webpage) |