浏览代码

[theplatform] Add _extract_urls

Sergey M․ 9 年之前
父节点
当前提交
898f4b49cc
共有 1 个文件被更改,包括 16 次插入0 次删除
  1. 16 0
      youtube_dl/extractor/theplatform.py

+ 16 - 0
youtube_dl/extractor/theplatform.py

@@ -151,6 +151,22 @@ class ThePlatformIE(ThePlatformBaseIE):
         'only_matching': True,
         'only_matching': True,
     }]
     }]
 
 
+    @classmethod
+    def _extract_urls(cls, webpage):
+        m = re.search(
+            r'''(?x)
+                    <meta\s+
+                        property=(["'])(?:og:video(?::(?:secure_)?url)?|twitter:player)\1\s+
+                        content=(["'])(?P<url>https?://player\.theplatform\.com/p/.+?)\2
+            ''', webpage)
+        if m:
+            return [m.group('url')]
+
+        matches = re.findall(
+            r'<(?:iframe|script)[^>]+src=(["\'])((?:https?:)?//player\.theplatform\.com/p/.+?)\1', webpage)
+        if matches:
+            return list(zip(*matches))[1]
+
     @staticmethod
     @staticmethod
     def _sign_url(url, sig_key, sig_secret, life=600, include_qs=False):
     def _sign_url(url, sig_key, sig_secret, life=600, include_qs=False):
         flags = '10' if include_qs else '00'
         flags = '10' if include_qs else '00'