|
@@ -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?://
|