mirror of
				https://gitlab.com/ytdl-org/youtube-dl.git
				synced 2025-11-04 01:57:08 -05:00 
			
		
		
		
	[extractor/common] Add support for AMP tags in _parse_html5_media_entries
This commit is contained in:
		@@ -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': [],
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user