Преглед на файлове

[vk] Add support for dailymotion embeds

Fixes #10661
Kacper Michajłow преди 9 години
родител
ревизия
e384552590
променени са 1 файла, в които са добавени 23 реда и са изтрити 1 реда
  1. 23 1
      youtube_dl/extractor/vk.py

+ 23 - 1
youtube_dl/extractor/vk.py

@@ -23,8 +23,9 @@ from ..utils import (
     unified_strdate,
     unified_strdate,
     urlencode_postdata,
     urlencode_postdata,
 )
 )
-from .vimeo import VimeoIE
+from .dailymotion import DailymotionIE
 from .pladform import PladformIE
 from .pladform import PladformIE
+from .vimeo import VimeoIE
 
 
 
 
 class VKBaseIE(InfoExtractor):
 class VKBaseIE(InfoExtractor):
@@ -210,6 +211,23 @@ class VKIE(VKBaseIE):
                 'view_count': int,
                 'view_count': int,
             },
             },
         },
         },
+        {
+            # dailymotion embed
+            'url': 'https://vk.com/video-37468416_456239855',
+            'info_dict': {
+                'id': 'k3lz2cmXyRuJQSjGHUv',
+                'ext': 'mp4',
+                'title': 'md5:d52606645c20b0ddbb21655adaa4f56f',
+                'description': 'md5:c651358f03c56f1150b555c26d90a0fd',
+                'uploader': 'AniLibria.Tv',
+                'upload_date': '20160914',
+                'uploader_id': 'x1p5vl5',
+                'timestamp': 1473877246,
+            },
+            'params': {
+                'skip_download': True,
+            }
+        },
         {
         {
             # video key is extra_data not url\d+
             # video key is extra_data not url\d+
             'url': 'http://vk.com/video-110305615_171782105',
             'url': 'http://vk.com/video-110305615_171782105',
@@ -315,6 +333,10 @@ class VKIE(VKBaseIE):
                 m_rutube.group(1).replace('\\', ''))
                 m_rutube.group(1).replace('\\', ''))
             return self.url_result(rutube_url)
             return self.url_result(rutube_url)
 
 
+        dailymotion_urls = DailymotionIE._extract_urls(info_page)
+        if dailymotion_urls:
+            return self.url_result(dailymotion_urls[0], DailymotionIE.ie_key())
+
         m_opts = re.search(r'(?s)var\s+opts\s*=\s*({.+?});', info_page)
         m_opts = re.search(r'(?s)var\s+opts\s*=\s*({.+?});', info_page)
         if m_opts:
         if m_opts:
             m_opts_url = re.search(r"url\s*:\s*'((?!/\b)[^']+)", m_opts.group(1))
             m_opts_url = re.search(r"url\s*:\s*'((?!/\b)[^']+)", m_opts.group(1))