diff options
Diffstat (limited to 'youtube_dl/extractor/generic.py')
| -rw-r--r-- | youtube_dl/extractor/generic.py | 48 | 
1 files changed, 46 insertions, 2 deletions
| diff --git a/youtube_dl/extractor/generic.py b/youtube_dl/extractor/generic.py index 42e4e7035..392ad3648 100644 --- a/youtube_dl/extractor/generic.py +++ b/youtube_dl/extractor/generic.py @@ -37,6 +37,7 @@ from .rutv import RUTVIE  from .tvc import TVCIE  from .sportbox import SportBoxEmbedIE  from .smotri import SmotriIE +from .myvi import MyviIE  from .condenast import CondeNastIE  from .udn import UDNEmbedIE  from .senateisvp import SenateISVPIE @@ -47,6 +48,7 @@ from .xhamster import XHamsterEmbedIE  from .vimeo import VimeoIE  from .dailymotion import DailymotionCloudIE  from .onionstudios import OnionStudiosIE +from .snagfilms import SnagFilmsEmbedIE  class GenericIE(InfoExtractor): @@ -337,6 +339,17 @@ class GenericIE(InfoExtractor):                  'skip_download': True,              },          }, +        # Myvi.ru embed +        { +            'url': 'http://www.kinomyvi.tv/news/detail/Pervij-dublirovannij-trejler--Uzhastikov-_nOw1', +            'info_dict': { +                'id': 'f4dafcad-ff21-423d-89b5-146cfd89fa1e', +                'ext': 'mp4', +                'title': 'Ужастики, русский трейлер (2015)', +                'thumbnail': 're:^https?://.*\.jpg$', +                'duration': 153, +            } +        },          # XHamster embed          {              'url': 'http://www.numisc.com/forum/showthread.php?11696-FM15-which-pumiscer-was-this-%28-vid-%29-%28-alfa-as-fuck-srx-%29&s=711f5db534502e22260dec8c5e2d66d8', @@ -668,6 +681,18 @@ class GenericIE(InfoExtractor):                  'title': 'John Carlson Postgame 2/25/15',              },          }, +        # Kaltura embed (different embed code) +        { +            'url': 'http://www.premierchristianradio.com/Shows/Saturday/Unbelievable/Conference-Videos/Os-Guinness-Is-It-Fools-Talk-Unbelievable-Conference-2014', +            'info_dict': { +                'id': '1_a52wc67y', +                'ext': 'flv', +                'upload_date': '20150127', +                'uploader_id': 'PremierMedia', +                'timestamp': int, +                'title': 'Os Guinness // Is It Fools Talk? // Unbelievable? Conference 2014', +            }, +        },          # Eagle.Platform embed (generic URL)          {              'url': 'http://lenta.ru/news/2015/03/06/navalny/', @@ -849,6 +874,15 @@ class GenericIE(InfoExtractor):                  'uploader_id': 'clickhole',              }          }, +        # SnagFilms embed +        { +            'url': 'http://whilewewatch.blogspot.ru/2012/06/whilewewatch-whilewewatch-gripping.html', +            'info_dict': { +                'id': '74849a00-85a9-11e1-9660-123139220831', +                'ext': 'mp4', +                'title': '#whilewewatch', +            } +        },          # AdobeTVVideo embed          {              'url': 'https://helpx.adobe.com/acrobat/how-to/new-experience-acrobat-dc.html?set=acrobat--get-started--essential-beginners', @@ -1403,6 +1437,11 @@ class GenericIE(InfoExtractor):          if smotri_url:              return self.url_result(smotri_url, 'Smotri') +        # Look for embedded Myvi.ru player +        myvi_url = MyviIE._extract_url(webpage) +        if myvi_url: +            return self.url_result(myvi_url) +          # Look for embeded soundcloud player          mobj = re.search(              r'<iframe\s+(?:[a-zA-Z0-9_-]+="[^"]+"\s+)*src="(?P<url>https?://(?:w\.)?soundcloud\.com/player[^"]+)"', @@ -1482,8 +1521,8 @@ class GenericIE(InfoExtractor):              return self.url_result(mobj.group('url'), 'Zapiks')          # Look for Kaltura embeds -        mobj = re.search( -            r"(?s)kWidget\.(?:thumb)?[Ee]mbed\(\{.*?'wid'\s*:\s*'_?(?P<partner_id>[^']+)',.*?'entry_id'\s*:\s*'(?P<id>[^']+)',", webpage) +        mobj = (re.search(r"(?s)kWidget\.(?:thumb)?[Ee]mbed\(\{.*?'wid'\s*:\s*'_?(?P<partner_id>[^']+)',.*?'entry_id'\s*:\s*'(?P<id>[^']+)',", webpage) or +                re.search(r'(?s)(["\'])(?:https?:)?//cdnapisec\.kaltura\.com/.*?(?:p|partner_id)/(?P<partner_id>\d+).*?\1.*?entry_id\s*:\s*(["\'])(?P<id>[^\2]+?)\2', webpage))          if mobj is not None:              return self.url_result('kaltura:%(partner_id)s:%(id)s' % mobj.groupdict(), 'Kaltura') @@ -1550,6 +1589,11 @@ class GenericIE(InfoExtractor):          if onionstudios_url:              return self.url_result(onionstudios_url) +        # Look for SnagFilms embeds +        snagfilms_url = SnagFilmsEmbedIE._extract_url(webpage) +        if snagfilms_url: +            return self.url_result(snagfilms_url) +          # Look for AdobeTVVideo embeds          mobj = re.search(              r'<iframe[^>]+src=[\'"]((?:https?:)?//video\.tv\.adobe\.com/v/\d+[^"]+)[\'"]', | 
