[svtplay] Fix svt id extraction (closes #26425, closes #26428, closes #26438)
authorSergey M․ <dstftw@gmail.com>
Sun, 6 Sep 2020 03:45:57 +0000 (10:45 +0700)
committerSergey M․ <dstftw@gmail.com>
Sun, 6 Sep 2020 03:45:57 +0000 (10:45 +0700)
youtube_dl/extractor/svt.py

index e12389cad80a83612e10d052b7f36bceba0f1fbf..8e9ec2ca3cbe1880ee96d83594af3bbb49f90dce 100644 (file)
@@ -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)