mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 06:35:12 +00:00 
			
		
		
		
	[extractor/youtube] Support podcasts and releases tabs
Closes https://github.com/yt-dlp/yt-dlp/issues/6893 Authored by: coletdjnz
This commit is contained in:
		| @@ -4639,11 +4639,19 @@ class YoutubeTabBaseInfoExtractor(YoutubeBaseInfoExtractor): | |||||||
| 
 | 
 | ||||||
|     def _rich_entries(self, rich_grid_renderer): |     def _rich_entries(self, rich_grid_renderer): | ||||||
|         renderer = traverse_obj( |         renderer = traverse_obj( | ||||||
|             rich_grid_renderer, ('content', ('videoRenderer', 'reelItemRenderer')), get_all=False) or {} |             rich_grid_renderer, | ||||||
|  |             ('content', ('videoRenderer', 'reelItemRenderer', 'playlistRenderer')), get_all=False) or {} | ||||||
|         video_id = renderer.get('videoId') |         video_id = renderer.get('videoId') | ||||||
|         if not video_id: |         if video_id: | ||||||
|  |             yield self._extract_video(renderer) | ||||||
|  |             return | ||||||
|  |         playlist_id = renderer.get('playlistId') | ||||||
|  |         if playlist_id: | ||||||
|  |             yield self.url_result( | ||||||
|  |                 f'https://www.youtube.com/playlist?list={playlist_id}', | ||||||
|  |                 ie=YoutubeTabIE.ie_key(), video_id=playlist_id, | ||||||
|  |                 video_title=self._get_text(renderer, 'title')) | ||||||
|             return |             return | ||||||
|         yield self._extract_video(renderer) |  | ||||||
| 
 | 
 | ||||||
|     def _video_entry(self, video_renderer): |     def _video_entry(self, video_renderer): | ||||||
|         video_id = video_renderer.get('videoId') |         video_id = video_renderer.get('videoId') | ||||||
| @@ -6185,6 +6193,40 @@ class YoutubeTabIE(YoutubeTabBaseInfoExtractor): | |||||||
|             'uploader': '3Blue1Brown', |             'uploader': '3Blue1Brown', | ||||||
|         }, |         }, | ||||||
|         'playlist_count': 0, |         'playlist_count': 0, | ||||||
|  |     }, { | ||||||
|  |         # Podcasts tab, with rich entry playlistRenderers | ||||||
|  |         'url': 'https://www.youtube.com/@99percentinvisiblepodcast/podcasts', | ||||||
|  |         'info_dict': { | ||||||
|  |             'id': 'UCVMF2HD4ZgC0QHpU9Yq5Xrw', | ||||||
|  |             'channel_id': 'UCVMF2HD4ZgC0QHpU9Yq5Xrw', | ||||||
|  |             'uploader_url': 'https://www.youtube.com/@99percentinvisiblepodcast', | ||||||
|  |             'description': 'md5:3a0ed38f1ad42a68ef0428c04a15695c', | ||||||
|  |             'title': '99 Percent Invisible - Podcasts', | ||||||
|  |             'uploader': '99 Percent Invisible', | ||||||
|  |             'channel_follower_count': int, | ||||||
|  |             'channel_url': 'https://www.youtube.com/channel/UCVMF2HD4ZgC0QHpU9Yq5Xrw', | ||||||
|  |             'tags': [], | ||||||
|  |             'channel': '99 Percent Invisible', | ||||||
|  |             'uploader_id': '@99percentinvisiblepodcast', | ||||||
|  |         }, | ||||||
|  |         'playlist_count': 1, | ||||||
|  |     }, { | ||||||
|  |         # Releases tab, with rich entry playlistRenderers (same as Podcasts tab) | ||||||
|  |         'url': 'https://www.youtube.com/@AHimitsu/releases', | ||||||
|  |         'info_dict': { | ||||||
|  |             'id': 'UCgFwu-j5-xNJml2FtTrrB3A', | ||||||
|  |             'channel': 'A Himitsu', | ||||||
|  |             'uploader_url': 'https://www.youtube.com/@AHimitsu', | ||||||
|  |             'title': 'A Himitsu - Releases', | ||||||
|  |             'uploader_id': '@AHimitsu', | ||||||
|  |             'uploader': 'A Himitsu', | ||||||
|  |             'channel_id': 'UCgFwu-j5-xNJml2FtTrrB3A', | ||||||
|  |             'tags': 'count:16', | ||||||
|  |             'description': 'I make music', | ||||||
|  |             'channel_url': 'https://www.youtube.com/channel/UCgFwu-j5-xNJml2FtTrrB3A', | ||||||
|  |             'channel_follower_count': int, | ||||||
|  |         }, | ||||||
|  |         'playlist_mincount': 10, | ||||||
|     }] |     }] | ||||||
| 
 | 
 | ||||||
|     @classmethod |     @classmethod | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 coletdjnz
					coletdjnz