mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 06:35:12 +00:00 
			
		
		
		
	[yahoo] Support pages that use an alias (fixes #8084)
This commit is contained in:
		| @@ -155,7 +155,16 @@ class YahooIE(InfoExtractor): | ||||
|                 'description': 'md5:8fc39608213295748e1e289807838c97', | ||||
|                 'duration': 1646, | ||||
|             }, | ||||
|         } | ||||
|         }, { | ||||
|             # it uses an alias to get the video_id | ||||
|             'url': 'https://www.yahoo.com/movies/the-stars-of-daddys-home-have-very-different-212843197.html', | ||||
|             'info_dict': { | ||||
|                 'id': '40eda9c8-8e5f-3552-8745-830f67d0c737', | ||||
|                 'ext': 'mp4', | ||||
|                 'title': 'Will Ferrell & Mark Wahlberg Are Pro-Spanking', | ||||
|                 'description': 'While they play feuding fathers in \'Daddy\'s Home,\' star Will Ferrell & Mark Wahlberg share their true feelings on parenthood.', | ||||
|             }, | ||||
|         }, | ||||
|     ] | ||||
|  | ||||
|     def _real_extract(self, url): | ||||
| @@ -199,13 +208,22 @@ class YahooIE(InfoExtractor): | ||||
|             r'mediaItems: ({.*?})$', webpage, 'items', flags=re.MULTILINE, | ||||
|             default=None) | ||||
|         if items_json is None: | ||||
|             CONTENT_ID_REGEXES = [ | ||||
|                 r'YUI\.namespace\("Media"\)\.CONTENT_ID\s*=\s*"([^"]+)"', | ||||
|                 r'root\.App\.Cache\.context\.videoCache\.curVideo = \{"([^"]+)"', | ||||
|                 r'"first_videoid"\s*:\s*"([^"]+)"', | ||||
|                 r'%s[^}]*"ccm_id"\s*:\s*"([^"]+)"' % re.escape(page_id), | ||||
|             ] | ||||
|             video_id = self._search_regex(CONTENT_ID_REGEXES, webpage, 'content ID') | ||||
|             alias = self._search_regex( | ||||
|                 r'"aliases":{"video":"(.*?)"', webpage, 'alias', default=None) | ||||
|             if alias is not None: | ||||
|                 alias_info = self._download_json( | ||||
|                     'https://www.yahoo.com/_td/api/resource/VideoService.videos;video_aliases=["%s"]' % alias, | ||||
|                     display_id, 'Downloading alias info') | ||||
|                 video_id = alias_info[0]['id'] | ||||
|             else: | ||||
|                 CONTENT_ID_REGEXES = [ | ||||
|                     r'YUI\.namespace\("Media"\)\.CONTENT_ID\s*=\s*"([^"]+)"', | ||||
|                     r'root\.App\.Cache\.context\.videoCache\.curVideo = \{"([^"]+)"', | ||||
|                     r'"first_videoid"\s*:\s*"([^"]+)"', | ||||
|                     r'%s[^}]*"ccm_id"\s*:\s*"([^"]+)"' % re.escape(page_id), | ||||
|                 ] | ||||
|                 video_id = self._search_regex( | ||||
|                     CONTENT_ID_REGEXES, webpage, 'content ID') | ||||
|         else: | ||||
|             items = json.loads(items_json) | ||||
|             info = items['mediaItems']['query']['results']['mediaObj'][0] | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Jaime Marquínez Ferrándiz
					Jaime Marquínez Ferrándiz