mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	[extractor/youtube] Handle consent.youtube
				
					
				
			This commit is contained in:
		| @@ -21,7 +21,8 @@ from .youtube import (  # Youtube is moved to the top to improve performance | |||||||
|     YoutubeYtBeIE, |     YoutubeYtBeIE, | ||||||
|     YoutubeYtUserIE, |     YoutubeYtUserIE, | ||||||
|     YoutubeWatchLaterIE, |     YoutubeWatchLaterIE, | ||||||
|     YoutubeShortsAudioPivotIE |     YoutubeShortsAudioPivotIE, | ||||||
|  |     YoutubeConsentRedirectIE, | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| from .abc import ( | from .abc import ( | ||||||
|   | |||||||
| @@ -5139,7 +5139,7 @@ class YoutubeTabIE(YoutubeTabBaseInfoExtractor): | |||||||
|     IE_DESC = 'YouTube Tabs' |     IE_DESC = 'YouTube Tabs' | ||||||
|     _VALID_URL = r'''(?x: |     _VALID_URL = r'''(?x: | ||||||
|         https?:// |         https?:// | ||||||
|             (?:\w+\.)? |             (?!consent\.)(?:\w+\.)? | ||||||
|             (?: |             (?: | ||||||
|                 youtube(?:kids)?\.com| |                 youtube(?:kids)?\.com| | ||||||
|                 %(invidious)s |                 %(invidious)s | ||||||
| @@ -6949,6 +6949,51 @@ class YoutubeClipIE(YoutubeTabBaseInfoExtractor): | |||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | class YoutubeConsentRedirectIE(YoutubeBaseInfoExtractor): | ||||||
|  |     IE_NAME = 'youtube:consent' | ||||||
|  |     IE_DESC = False  # Do not list | ||||||
|  |     _VALID_URL = r'https?://consent\.youtube\.com/m\?' | ||||||
|  |     _TESTS = [{ | ||||||
|  |         'url': 'https://consent.youtube.com/m?continue=https%3A%2F%2Fwww.youtube.com%2Flive%2FqVv6vCqciTM%3Fcbrd%3D1&gl=NL&m=0&pc=yt&hl=en&src=1', | ||||||
|  |         'info_dict': { | ||||||
|  |             'id': 'qVv6vCqciTM', | ||||||
|  |             'ext': 'mp4', | ||||||
|  |             'age_limit': 0, | ||||||
|  |             'uploader_id': 'UCIdEIHpS0TdkqRkHL5OkLtA', | ||||||
|  |             'comment_count': int, | ||||||
|  |             'chapters': 'count:13', | ||||||
|  |             'upload_date': '20221223', | ||||||
|  |             'thumbnail': 'https://i.ytimg.com/vi/qVv6vCqciTM/maxresdefault.jpg', | ||||||
|  |             'channel_url': 'https://www.youtube.com/channel/UCIdEIHpS0TdkqRkHL5OkLtA', | ||||||
|  |             'uploader_url': 'http://www.youtube.com/channel/UCIdEIHpS0TdkqRkHL5OkLtA', | ||||||
|  |             'like_count': int, | ||||||
|  |             'release_date': '20221223', | ||||||
|  |             'tags': ['Vtuber', '月ノ美兎', '名取さな', 'にじさんじ', 'クリスマス', '3D配信'], | ||||||
|  |             'title': '【 #インターネット女クリスマス 】3Dで歌ってはしゃぐインターネットの女たち【月ノ美兎/名取さな】', | ||||||
|  |             'view_count': int, | ||||||
|  |             'playable_in_embed': True, | ||||||
|  |             'duration': 4438, | ||||||
|  |             'availability': 'public', | ||||||
|  |             'channel_follower_count': int, | ||||||
|  |             'channel_id': 'UCIdEIHpS0TdkqRkHL5OkLtA', | ||||||
|  |             'categories': ['Entertainment'], | ||||||
|  |             'live_status': 'was_live', | ||||||
|  |             'release_timestamp': 1671793345, | ||||||
|  |             'channel': 'さなちゃんねる', | ||||||
|  |             'description': 'md5:6aebf95cc4a1d731aebc01ad6cc9806d', | ||||||
|  |             'uploader': 'さなちゃんねる', | ||||||
|  |         }, | ||||||
|  |         'add_ie': ['Youtube'], | ||||||
|  |         'params': {'skip_download': 'Youtube'}, | ||||||
|  |     }] | ||||||
|  | 
 | ||||||
|  |     def _real_extract(self, url): | ||||||
|  |         redirect_url = url_or_none(parse_qs(url).get('continue', [None])[-1]) | ||||||
|  |         if not redirect_url: | ||||||
|  |             raise ExtractorError('Invalid cookie consent redirect URL', expected=True) | ||||||
|  |         return self.url_result(redirect_url) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| class YoutubeTruncatedIDIE(InfoExtractor): | class YoutubeTruncatedIDIE(InfoExtractor): | ||||||
|     IE_NAME = 'youtube:truncated_id' |     IE_NAME = 'youtube:truncated_id' | ||||||
|     IE_DESC = False  # Do not list |     IE_DESC = False  # Do not list | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 pukkandan
					pukkandan