diff options
| author | Sergey M․ <dstftw@gmail.com> | 2017-07-09 16:29:52 +0700 | 
|---|---|---|
| committer | Sergey M․ <dstftw@gmail.com> | 2017-07-09 16:29:52 +0700 | 
| commit | 4328ddf82b812420ffc120b4150251f751bff08c (patch) | |
| tree | e5a6828b82539ae584a4691726e965afd37c8a41 | |
| parent | 250b042c7e71a6e8bbff534aa41c2b92dae1acf7 (diff) | |
[extractor/common] Add support for AMP tags in _parse_html5_media_entries
| -rw-r--r-- | youtube_dl/extractor/common.py | 7 | ||||
| -rw-r--r-- | youtube_dl/extractor/generic.py | 10 | 
2 files changed, 15 insertions, 2 deletions
| diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py index afeb4c5da..daa10885f 100644 --- a/youtube_dl/extractor/common.py +++ b/youtube_dl/extractor/common.py @@ -2132,15 +2132,18 @@ class InfoExtractor(object):              return is_plain_url, formats          entries = [] +        # amp-video and amp-audio are very similar to their HTML5 counterparts +        # so we wll include them right here (see +        # https://www.ampproject.org/docs/reference/components/amp-video)          media_tags = [(media_tag, media_type, '')                        for media_tag, media_type -                      in re.findall(r'(?s)(<(video|audio)[^>]*/>)', webpage)] +                      in re.findall(r'(?s)(<(?:amp-)?(video|audio)[^>]*/>)', webpage)]          media_tags.extend(re.findall(              # We only allow video|audio followed by a whitespace or '>'.              # Allowing more characters may end up in significant slow down (see              # https://github.com/rg3/youtube-dl/issues/11979, example URL:              # http://www.porntrex.com/maps/videositemap.xml). -            r'(?s)(<(?P<tag>video|audio)(?:\s+[^>]*)?>)(.*?)</(?P=tag)>', webpage)) +            r'(?s)(<(?P<tag>(?:amp-)?(?:video|audio))(?:\s+[^>]*)?>)(.*?)</(?P=tag)>', webpage))          for media_tag, media_type, media_content in media_tags:              media_info = {                  'formats': [], diff --git a/youtube_dl/extractor/generic.py b/youtube_dl/extractor/generic.py index 95c38698d..919f4f987 100644 --- a/youtube_dl/extractor/generic.py +++ b/youtube_dl/extractor/generic.py @@ -1770,6 +1770,16 @@ class GenericIE(InfoExtractor):              },              'add_ie': [MediasetIE.ie_key()],          }, +        { +            # AMP embed (see https://www.ampproject.org/docs/reference/components/amp-video) +            'url': 'https://tvrain.ru/amp/418921/', +            'md5': 'cc00413936695987e8de148b67d14f1d', +            'info_dict': { +                'id': '418921', +                'ext': 'mp4', +                'title': 'Стас Намин: «Мы нарушили девственность Кремля»', +            }, +        },          # {          #     # TODO: find another test          #     # http://schema.org/VideoObject | 
