commit: 6fd26a7d4a851b260c56974d77911804c09ff816
parent 9cf26b6e1d0658eb0b252872ef011d765b8341a5
Author: Sergey M․ <dstftw@gmail.com>
Date: Thu, 19 Sep 2019 02:31:39 +0700
[9now] Fix extraction (closes #22361)
Diffstat:
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/youtube_dl/extractor/ninenow.py b/youtube_dl/extractor/ninenow.py
@@ -45,7 +45,11 @@ class NineNowIE(InfoExtractor):
webpage = self._download_webpage(url, display_id)
page_data = self._parse_json(self._search_regex(
r'window\.__data\s*=\s*({.*?});', webpage,
- 'page data'), display_id)
+ 'page data', default='{}'), display_id, fatal=False)
+ if not page_data:
+ page_data = self._parse_json(self._parse_json(self._search_regex(
+ r'window\.__data\s*=\s*JSON\.parse\s*\(\s*(".+?")\s*\)\s*;',
+ webpage, 'page data'), display_id), display_id)
for kind in ('episode', 'clip'):
current_key = page_data.get(kind, {}).get(