summary refs log tree commit diff
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2020-09-06 10:45:57 +0700
committerSergey M․ <dstftw@gmail.com>2020-09-06 10:45:57 +0700
commit5ed05f26adea517aa715d5ec4b0dccfea30b2b8e (patch)
tree20feec373fae69b8245be9ab6d43898ad06d0321
parent841b683804c6f706554bf7607e52072575358445 (diff)
downloadyoutube-dl-5ed05f26adea517aa715d5ec4b0dccfea30b2b8e.tar.gz
youtube-dl-5ed05f26adea517aa715d5ec4b0dccfea30b2b8e.tar.xz
youtube-dl-5ed05f26adea517aa715d5ec4b0dccfea30b2b8e.zip
[svtplay] Fix svt id extraction (closes #26425, closes #26428, closes #26438)
-rw-r--r--youtube_dl/extractor/svt.py12
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)