diff options
Diffstat (limited to 'youtube_dl/extractor/mtv.py')
| -rw-r--r-- | youtube_dl/extractor/mtv.py | 15 | 
1 files changed, 14 insertions, 1 deletions
| diff --git a/youtube_dl/extractor/mtv.py b/youtube_dl/extractor/mtv.py index a597714e9..302c9bf35 100644 --- a/youtube_dl/extractor/mtv.py +++ b/youtube_dl/extractor/mtv.py @@ -200,7 +200,13 @@ class MTVServicesInfoExtractor(InfoExtractor):          if mgid is None or ':' not in mgid:              mgid = self._search_regex(                  [r'data-mgid="(.*?)"', r'swfobject.embedSWF\(".*?(mgid:.*?)"'], -                webpage, 'mgid') +                webpage, 'mgid', default=None) + +        if not mgid: +            sm4_embed = self._html_search_meta( +                'sm4:video:embed', webpage, 'sm4 embed', default='') +            mgid = self._search_regex( +                r'embed/(mgid:.+?)["\'&?/]', sm4_embed, 'mgid')          videos_info = self._get_videos_info(mgid)          return videos_info @@ -222,6 +228,13 @@ class MTVServicesEmbeddedIE(MTVServicesInfoExtractor):          },      } +    @staticmethod +    def _extract_url(webpage): +        mobj = re.search( +            r'<iframe[^>]+?src=(["\'])(?P<url>(?:https?:)?//media.mtvnservices.com/embed/.+?)\1', webpage) +        if mobj: +            return mobj.group('url') +      def _get_feed_url(self, uri):          video_id = self._id_from_uri(uri)          site_id = uri.replace(video_id, '') | 
