diff options
| -rw-r--r-- | youtube_dl/extractor/__init__.py | 1 | ||||
| -rw-r--r-- | youtube_dl/extractor/mtv.py | 13 | ||||
| -rw-r--r-- | youtube_dl/extractor/spike.py | 19 | 
3 files changed, 33 insertions, 0 deletions
| diff --git a/youtube_dl/extractor/__init__.py b/youtube_dl/extractor/__init__.py index 7b374f7b9..d37f0a178 100644 --- a/youtube_dl/extractor/__init__.py +++ b/youtube_dl/extractor/__init__.py @@ -171,6 +171,7 @@ from .southparkstudios import (  from .space import SpaceIE  from .spankwire import SpankwireIE  from .spiegel import SpiegelIE +from .spike import SpikeIE  from .stanfordoc import StanfordOpenClassroomIE  from .statigram import StatigramIE  from .steam import SteamIE diff --git a/youtube_dl/extractor/mtv.py b/youtube_dl/extractor/mtv.py index 485c1fd7d..517115501 100644 --- a/youtube_dl/extractor/mtv.py +++ b/youtube_dl/extractor/mtv.py @@ -7,6 +7,8 @@ from ..utils import (      compat_urllib_parse,      ExtractorError,      fix_xml_ampersands, +    url_basename, +    RegexNotFoundError,  )  def _media_xml_tag(tag): @@ -89,6 +91,17 @@ class MTVServicesInfoExtractor(InfoExtractor):              'Downloading info', transform_source=fix_xml_ampersands)          return [self._get_video_info(item) for item in idoc.findall('.//item')] +    def _real_extract(self, url): +        title = url_basename(url) +        webpage = self._download_webpage(url, title) +        try: +            # the url is in the format http://media.mtvnservices.com/fb/{mgid}.swf +            fb_url = self._og_search_video_url(webpage) +            mgid = url_basename(fb_url).rpartition('.')[0] +        except RegexNotFoundError: +            mgid = self._search_regex(r'data-mgid="(.*?)"', webpage, u'mgid') +        return self._get_videos_info(mgid) +  class MTVIE(MTVServicesInfoExtractor):      _VALID_URL = r'''(?x)^https?:// diff --git a/youtube_dl/extractor/spike.py b/youtube_dl/extractor/spike.py new file mode 100644 index 000000000..71a9aaa24 --- /dev/null +++ b/youtube_dl/extractor/spike.py @@ -0,0 +1,19 @@ +from __future__ import unicode_literals + +from .mtv import MTVServicesInfoExtractor + + +class SpikeIE(MTVServicesInfoExtractor): +    _VALID_URL = r'https?://www\.spike\.com/(video-clips|episodes)/.+' +    _TEST = { +        'url': 'http://www.spike.com/video-clips/lhtu8m/auction-hunters-can-allen-ride-a-hundred-year-old-motorcycle', +        'md5': '1a9265f32b0c375793d6c4ce45255256', +        'info_dict': { +            'id': 'b9c8221a-4e50-479a-b86d-3333323e38ba', +            'ext': 'mp4', +            'title': 'Can Allen Ride A Hundred Year-Old Motorcycle?', +            'description': 'md5:fbed7e82ed5fad493615b3094a9499cb', +        }, +    } + +    _FEED_URL = 'http://www.spike.com/feeds/mrss/' | 
