diff options
Diffstat (limited to 'youtube_dl/extractor')
| -rw-r--r-- | youtube_dl/extractor/generic.py | 7 | ||||
| -rw-r--r-- | youtube_dl/extractor/mediaset.py | 8 | 
2 files changed, 15 insertions, 0 deletions
diff --git a/youtube_dl/extractor/generic.py b/youtube_dl/extractor/generic.py index dde65fa96..32f38c401 100644 --- a/youtube_dl/extractor/generic.py +++ b/youtube_dl/extractor/generic.py @@ -89,6 +89,7 @@ from .limelight import LimelightBaseIE  from .anvato import AnvatoIE  from .washingtonpost import WashingtonPostIE  from .wistia import WistiaIE +from .mediaset import MediasetIE  class GenericIE(InfoExtractor): @@ -2648,6 +2649,12 @@ class GenericIE(InfoExtractor):              return self.playlist_from_matches(                  wapo_urls, video_id, video_title, ie=WashingtonPostIE.ie_key()) +        # Look for Mediaset embeds +        mediaset_urls = MediasetIE._extract_urls(webpage) +        if mediaset_urls: +            return self.playlist_from_matches( +                mediaset_urls, video_id, video_title, ie=MediasetIE.ie_key()) +          # Looking for http://schema.org/VideoObject          json_ld = self._search_json_ld(              webpage, video_id, default={}, expected_type='VideoObject') diff --git a/youtube_dl/extractor/mediaset.py b/youtube_dl/extractor/mediaset.py index 3ebc7f2e1..9a0e41663 100644 --- a/youtube_dl/extractor/mediaset.py +++ b/youtube_dl/extractor/mediaset.py @@ -59,6 +59,14 @@ class MediasetIE(InfoExtractor):          'only_matching': True,      }] +    @staticmethod +    def _extract_urls(webpage): +        return [ +            mobj.group('url') +            for mobj in re.finditer( +                r'<iframe\b[^>]+\bsrc=(["\'])(?P<url>https?://(?:www\.)?video\.mediaset\.it/player/playerIFrame(?:Twitter)?\.shtml\?.*?\bid=\d+.*?)\1', +                webpage)] +      def _real_extract(self, url):          video_id = self._match_id(url)  | 
