diff options
Diffstat (limited to 'youtube_dl/extractor/generic.py')
| -rw-r--r-- | youtube_dl/extractor/generic.py | 37 | 
1 files changed, 34 insertions, 3 deletions
| diff --git a/youtube_dl/extractor/generic.py b/youtube_dl/extractor/generic.py index f4500e931..875e1bf05 100644 --- a/youtube_dl/extractor/generic.py +++ b/youtube_dl/extractor/generic.py @@ -473,6 +473,7 @@ class GenericIE(InfoExtractor):          {              'url': 'http://discourse.ubuntu.com/t/unity-8-desktop-mode-windows-on-mir/1986',              'info_dict': { +                'id': '1986',                  'title': 'Unity 8 desktop-mode windows on Mir! - Ubuntu Discourse',              },              'playlist_mincount': 2, @@ -531,13 +532,31 @@ class GenericIE(InfoExtractor):              'info_dict': {                  'id': 'Mrj4DVp2zeA',                  'ext': 'mp4', -                'upload_date': '20150204', +                'upload_date': '20150212',                  'uploader': 'The National Archives UK',                  'description': 'md5:a236581cd2449dd2df4f93412f3f01c6',                  'uploader_id': 'NationalArchives08',                  'title': 'Webinar: Using Discovery, The National Archives’ online catalogue',              }, -        } +        }, +        # rtl.nl embed +        { +            'url': 'http://www.rtlnieuws.nl/nieuws/buitenland/aanslagen-kopenhagen', +            'playlist_mincount': 5, +            'info_dict': { +                'id': 'aanslagen-kopenhagen', +                'title': 'Aanslagen Kopenhagen | RTL Nieuws', +            } +        }, +        # Zapiks embed +        { +            'url': 'http://www.skipass.com/news/116090-bon-appetit-s5ep3-baqueira-mi-cor.html', +            'info_dict': { +                'id': '118046', +                'ext': 'mp4', +                'title': 'EP3S5 - Bon Appétit - Baqueira Mi Corazon !', +            } +        },      ]      def report_following_redirect(self, new_url): @@ -782,6 +801,13 @@ class GenericIE(InfoExtractor):                  'entries': entries,              } +        # Look for embedded rtl.nl player +        matches = re.findall( +            r'<iframe\s+(?:[a-zA-Z-]+="[^"]+"\s+)*?src="((?:https?:)?//(?:www\.)?rtl\.nl/system/videoplayer/[^"]+video_embed[^"]+)"', +            webpage) +        if matches: +            return _playlist_from_matches(matches, ie='RtlNl') +          # Look for embedded (iframe) Vimeo player          mobj = re.search(              r'<iframe[^>]+?src=(["\'])(?P<url>(?:https?:)?//player\.vimeo\.com/video/.+?)\1', webpage) @@ -789,7 +815,6 @@ class GenericIE(InfoExtractor):              player_url = unescapeHTML(mobj.group('url'))              surl = smuggle_url(player_url, {'Referer': url})              return self.url_result(surl) -          # Look for embedded (swf embed) Vimeo player          mobj = re.search(              r'<embed[^>]+?src="((?:https?:)?//(?:www\.)?vimeo\.com/moogaloop\.swf.+?)"', webpage) @@ -1082,6 +1107,12 @@ class GenericIE(InfoExtractor):          if mobj is not None:              return self.url_result(mobj.group('url'), 'Livestream') +        # Look for Zapiks embed +        mobj = re.search( +            r'<iframe[^>]+src="(?P<url>https?://(?:www\.)?zapiks\.fr/index\.php\?.+?)"', webpage) +        if mobj is not None: +            return self.url_result(mobj.group('url'), 'Zapiks') +          def check_video(vurl):              if YoutubeIE.suitable(vurl):                  return True | 
