mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	[4tube] Try extracting sources from the webpage before fetching player.js (Closes #7103)
This commit is contained in:
		| @@ -68,16 +68,21 @@ class FourTubeIE(InfoExtractor): | ||||
|             webpage, 'like count', fatal=False)) | ||||
|         duration = parse_duration(self._html_search_meta('duration', webpage)) | ||||
|  | ||||
|         media_id = self._search_regex( | ||||
|             r'<button[^>]+data-id=(["\'])(?P<id>\d+)\1[^>]+data-quality=', webpage, | ||||
|             'media id', default=None, group='id') | ||||
|         sources = [ | ||||
|             quality | ||||
|             for _, quality in re.findall(r'<button[^>]+data-quality=(["\'])(.+?)\1', webpage)] | ||||
|         if not (media_id and sources): | ||||
|             player_js = self._download_webpage( | ||||
|                 self._search_regex( | ||||
|                     r'<script[^>]id=(["\'])playerembed\1[^>]+src=(["\'])(?P<url>.+?)\2', | ||||
|                     webpage, 'player JS', group='url'), | ||||
|                 video_id, 'Downloading player JS') | ||||
|  | ||||
|             params_js = self._search_regex( | ||||
|                 r'\$\.ajax\(url,\ opts\);\s*\}\s*\}\)\(([0-9,\[\] ]+)\)', | ||||
|             player_js, 'initialization parameters' | ||||
|         ) | ||||
|                 player_js, 'initialization parameters') | ||||
|             params = self._parse_json('[%s]' % params_js, video_id) | ||||
|             media_id = params[0] | ||||
|             sources = ['%s' % p for p in params[2]] | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Sergey M․
					Sergey M․