mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	[bbc] Fix extraction of news articles (#2811)
Closes #1374 Authored by: ajj8
This commit is contained in:
		| @@ -1171,9 +1171,9 @@ class BBCIE(BBCCoUkIE): | ||||
|                 return self.playlist_result( | ||||
|                     entries, playlist_id, playlist_title, playlist_description) | ||||
|  | ||||
|         initial_data = self._parse_json(self._search_regex( | ||||
|             r'window\.__INITIAL_DATA__\s*=\s*({.+?});', webpage, | ||||
|             'preload state', default='{}'), playlist_id, fatal=False) | ||||
|         initial_data = self._parse_json(self._parse_json(self._search_regex( | ||||
|             r'window\.__INITIAL_DATA__\s*=\s*("{.+?}");', webpage, | ||||
|             'preload state', default='"{}"'), playlist_id, fatal=False), playlist_id, fatal=False) | ||||
|         if initial_data: | ||||
|             def parse_media(media): | ||||
|                 if not media: | ||||
| @@ -1214,7 +1214,7 @@ class BBCIE(BBCCoUkIE): | ||||
|                 if name == 'media-experience': | ||||
|                     parse_media(try_get(resp, lambda x: x['data']['initialItem']['mediaItem'], dict)) | ||||
|                 elif name == 'article': | ||||
|                     for block in (try_get(resp, lambda x: x['data']['blocks'], list) or []): | ||||
|                     for block in (try_get(resp, lambda x: x['data']['content']['model']['blocks'], list) or []): | ||||
|                         if block.get('type') != 'media': | ||||
|                             continue | ||||
|                         parse_media(block.get('model')) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 ajj8
					ajj8