about summary refs log tree commit diff
path: root/youtube_dl/extractor/twitter.py
diff options
context:
space:
mode:
authorYen Chi Hsuan <yan12125@gmail.com>2015-11-14 17:02:07 +0800
committerYen Chi Hsuan <yan12125@gmail.com>2015-11-14 17:02:07 +0800
commit5f1b2aea8051a34dd543ba0fd17e351a8b7bf858 (patch)
tree20dcedd9d72937130b7d8b811e94dd751989927b /youtube_dl/extractor/twitter.py
parent4479600d57d1a48de5a910764e2d18c30d7a4bd9 (diff)
downloadyoutube-dl-5f1b2aea8051a34dd543ba0fd17e351a8b7bf858.tar.gz
youtube-dl-5f1b2aea8051a34dd543ba0fd17e351a8b7bf858.tar.xz
youtube-dl-5f1b2aea8051a34dd543ba0fd17e351a8b7bf858.zip
[twitter:card] Support vine.co embeds (closes #7496)
Diffstat (limited to 'youtube_dl/extractor/twitter.py')
-rw-r--r--youtube_dl/extractor/twitter.py23
1 files changed, 18 insertions, 5 deletions
diff --git a/youtube_dl/extractor/twitter.py b/youtube_dl/extractor/twitter.py
index 2bd5946ac..afbe8a651 100644
--- a/youtube_dl/extractor/twitter.py
+++ b/youtube_dl/extractor/twitter.py
@@ -52,6 +52,19 @@ class TwitterCardIE(InfoExtractor):
                 'uploader': 'OMG! Ubuntu!',
                 'uploader_id': 'omgubuntu',
             },
+        },
+        {
+            'url': 'https://twitter.com/i/cards/tfw/v1/665289828897005568',
+            'md5': 'ab2745d0b0ce53319a534fccaa986439',
+            'info_dict': {
+                'id': 'iBb2x00UVlv',
+                'ext': 'mp4',
+                'upload_date': '20151113',
+                'uploader_id': '1189339351084113920',
+                'uploader': '@ArsenalTerje',
+                'title': 'Vine by @ArsenalTerje',
+            },
+            'add_ie': ['Vine'],
         }
     ]
 
@@ -71,11 +84,11 @@ class TwitterCardIE(InfoExtractor):
             request.add_header('User-Agent', user_agent)
             webpage = self._download_webpage(request, video_id)
 
-            youtube_url = self._html_search_regex(
-                r'<iframe[^>]+src="((?:https?:)?//www.youtube.com/embed/[^"]+)"',
-                webpage, 'youtube iframe', default=None)
-            if youtube_url:
-                return self.url_result(youtube_url, 'Youtube')
+            iframe_url = self._html_search_regex(
+                r'<iframe[^>]+src="((?:https?:)?//(?:www.youtube.com/embed/[^"]+|(?:www\.)?vine\.co/v/\w+/card))"',
+                webpage, 'video iframe', default=None)
+            if iframe_url:
+                return self.url_result(iframe_url)
 
             config = self._parse_json(self._html_search_regex(
                 r'data-player-config="([^"]+)"', webpage, 'data player config'),