Browse Source

Add support for embedded vevo player (Fixes #1957)

totalwebcasting
Philipp Hagemeister 11 years ago
parent
commit
f25571ffbf
2 changed files with 11 additions and 1 deletions
  1. +6
    -0
      youtube_dl/extractor/generic.py
  2. +5
    -1
      youtube_dl/extractor/vevo.py

+ 6
- 0
youtube_dl/extractor/generic.py View File

@ -241,6 +241,12 @@ class GenericIE(InfoExtractor):
# Don't set the extractor because it can be a track url or an album
return self.url_result(burl)
# Look for embedded Vevo player
mobj = re.search(
r'<iframe[^>]+?src=(["\'])(?P<url>(?:https?:)?//(?:cache\.)?vevo\.com/.+?)\1', webpage)
if mobj is not None:
return self.url_result(mobj.group('url'))
# Start with something easy: JW Player in SWFObject
mobj = re.search(r'flashvars: [\'"](?:.*&)?file=(http[^\'"&]*)', webpage)
if mobj is None:


+ 5
- 1
youtube_dl/extractor/vevo.py View File

@ -15,7 +15,11 @@ class VevoIE(InfoExtractor):
Accepts urls from vevo.com or in the format 'vevo:{id}'
(currently used by MTVIE)
"""
_VALID_URL = r'((http://www\.vevo\.com/watch/(?:[^/]+/[^/]+/)?)|(vevo:))(?P<id>.*?)(\?|$)'
_VALID_URL = r'''(?x)
(?:https?://www\.vevo\.com/watch/(?:[^/]+/[^/]+/)?|
https?://cache\.vevo\.com/m/html/embed\.html\?video=|
vevo:)
(?P<id>[^&?#]+)'''
_TESTS = [{
u'url': u'http://www.vevo.com/watch/hurts/somebody-to-die-for/GB1101300280',
u'file': u'GB1101300280.mp4',


Loading…
Cancel
Save