mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	[youtube] Remove annotations and deprecate --write-annotations (#765)
				
					
				
			Closes #692 Authored by: coletdjnz
This commit is contained in:
		| @@ -59,7 +59,6 @@ from ..utils import ( | ||||
|     unsmuggle_url, | ||||
|     update_url_query, | ||||
|     url_or_none, | ||||
|     urlencode_postdata, | ||||
|     urljoin, | ||||
|     variadic, | ||||
| ) | ||||
| @@ -3168,40 +3167,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor): | ||||
|             needs_auth=info['age_limit'] >= 18, | ||||
|             is_unlisted=None if is_private is None else is_unlisted) | ||||
|  | ||||
|         # get xsrf for annotations or comments | ||||
|         get_annotations = self.get_param('writeannotations', False) | ||||
|         get_comments = self.get_param('getcomments', False) | ||||
|         if get_annotations or get_comments: | ||||
|             xsrf_token = None | ||||
|             if master_ytcfg: | ||||
|                 xsrf_token = try_get(master_ytcfg, lambda x: x['XSRF_TOKEN'], compat_str) | ||||
|             if not xsrf_token: | ||||
|                 xsrf_token = self._search_regex( | ||||
|                     r'([\'"])XSRF_TOKEN\1\s*:\s*([\'"])(?P<xsrf_token>(?:(?!\2).)+)\2', | ||||
|                     webpage, 'xsrf token', group='xsrf_token', fatal=False) | ||||
|  | ||||
|         # annotations | ||||
|         if get_annotations: | ||||
|             invideo_url = get_first( | ||||
|                 player_responses, | ||||
|                 ('annotations', 0, 'playerAnnotationsUrlsRenderer', 'invideoUrl'), | ||||
|                 expected_type=str) | ||||
|             if xsrf_token and invideo_url: | ||||
|                 xsrf_field_name = None | ||||
|                 if master_ytcfg: | ||||
|                     xsrf_field_name = try_get(master_ytcfg, lambda x: x['XSRF_FIELD_NAME'], compat_str) | ||||
|                 if not xsrf_field_name: | ||||
|                     xsrf_field_name = self._search_regex( | ||||
|                         r'([\'"])XSRF_FIELD_NAME\1\s*:\s*([\'"])(?P<xsrf_field_name>\w+)\2', | ||||
|                         webpage, 'xsrf field name', | ||||
|                         group='xsrf_field_name', default='session_token') | ||||
|                 info['annotations'] = self._download_webpage( | ||||
|                     self._proto_relative_url(invideo_url), | ||||
|                     video_id, note='Downloading annotations', | ||||
|                     errnote='Unable to download video annotations', fatal=False, | ||||
|                     data=urlencode_postdata({xsrf_field_name: xsrf_token})) | ||||
|  | ||||
|         if get_comments: | ||||
|         if self.get_param('getcomments', False): | ||||
|             info['__post_extractor'] = lambda: self._extract_comments(master_ytcfg, video_id, contents, webpage) | ||||
|  | ||||
|         self.mark_watched(video_id, player_responses) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 coletdjnz
					coletdjnz