diff options
| -rw-r--r-- | youtube_dl/extractor/twitter.py | 23 | 
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'), | 
