aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorajj8 <35781586+ajj8@users.noreply.github.com>2022-02-17 15:54:53 +0000
committerGitHub <noreply@github.com>2022-02-17 07:54:53 -0800
commitac184ab742115ba9f8d3365c0f630db53567fc01 (patch)
tree9422c9cc7f341092c99224a34a741f3226c3c11c
parent5c104538270e5fc5ff8cf1007c34c0bf1e82e003 (diff)
downloadhypervideo-pre-ac184ab742115ba9f8d3365c0f630db53567fc01.tar.lz
hypervideo-pre-ac184ab742115ba9f8d3365c0f630db53567fc01.tar.xz
hypervideo-pre-ac184ab742115ba9f8d3365c0f630db53567fc01.zip
[bbc] Fix extraction of news articles (#2811)
Closes #1374 Authored by: ajj8
-rw-r--r--yt_dlp/extractor/bbc.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/yt_dlp/extractor/bbc.py b/yt_dlp/extractor/bbc.py
index 85ab478a6..199a3f8e2 100644
--- a/yt_dlp/extractor/bbc.py
+++ b/yt_dlp/extractor/bbc.py
@@ -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'))