diff --git a/youtube_dl/extractor/mtv.py b/youtube_dl/extractor/mtv.py index a801c8123..969db7113 100644 --- a/youtube_dl/extractor/mtv.py +++ b/youtube_dl/extractor/mtv.py @@ -27,6 +27,14 @@ class MTVIE(InfoExtractor): webpage = self._download_webpage(url, video_id) + # Some videos come from Vevo.com + m_vevo = re.search(r'isVevoVideo = true;.*?vevoVideoId = "(.*?)";', + webpage, re.DOTALL) + if m_vevo: + vevo_id = m_vevo.group(1); + self.to_screen(u'Vevo video detected: %s' % vevo_id) + return self.url_result('vevo:%s' % vevo_id, ie='Vevo') + #song_name = self._html_search_regex(r'', # webpage, u'song name', fatal=False) diff --git a/youtube_dl/extractor/vevo.py b/youtube_dl/extractor/vevo.py index 7aa04ef68..aa88e1a92 100644 --- a/youtube_dl/extractor/vevo.py +++ b/youtube_dl/extractor/vevo.py @@ -8,7 +8,11 @@ from ..utils import ( ) class VevoIE(InfoExtractor): - _VALID_URL = r'http://www.vevo.com/watch/.*?/.*?/(?P.*)$' + """ + Accecps urls from vevo.com or in the format 'vevo:{id}' + (currently used by MTVIE) + """ + _VALID_URL = r'((http://www.vevo.com/watch/.*?/.*?/)|(vevo:))(?P.*)$' def _real_extract(self, url): mobj = re.match(self._VALID_URL, url)