diff options
author | Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com> | 2014-01-21 20:54:47 +0100 |
---|---|---|
committer | Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com> | 2014-01-21 20:54:47 +0100 |
commit | 8d9453b9e852b585cd7d0228c126d36b682af42f (patch) | |
tree | a6d50352227f991811c26d82b2ad4a6ab412ed97 /youtube_dl/extractor/mtv.py | |
parent | e4f320a4d044b690721016e36972cd547ee787d3 (diff) |
Add an extractor for spike.com (#2072)
Added a generic _real_extract to MTVServicesInfoExtractor
Diffstat (limited to 'youtube_dl/extractor/mtv.py')
-rw-r--r-- | youtube_dl/extractor/mtv.py | 13 |
1 files changed, 13 insertions, 0 deletions
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?:// |