diff options
author | JianxinLi <[email protected]> | 2018-01-04 22:25:28 +0800 |
---|---|---|
committer | Chih-Hsuan Yen <[email protected]> | 2018-01-04 22:25:28 +0800 |
commit | da35331c6c23f90fc29ca3315f7e00481aff1d5c (patch) | |
tree | 8c3cb93b75df7fea4934c402d1f5b572e3ac1b33 | |
parent | de329f64abd920e148701436d6a20bfc5b2d3ef3 (diff) | |
download | youtube-dl-da35331c6c23f90fc29ca3315f7e00481aff1d5c.tar.gz youtube-dl-da35331c6c23f90fc29ca3315f7e00481aff1d5c.zip |
[youku] Fix list extraction.(close #15135) (#15137)
* [youku] Fix list extraction.(close #15135)
Change-Id: I2e9c920143f4f16012252625943a8f18b8ff40eb
* [youku] Remove KeyError try-except
Change-Id: Ic46327905cbef1356b7b12d5eb3db5d9746ca338
-rw-r--r-- | youtube_dl/extractor/youku.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/youtube_dl/extractor/youku.py b/youtube_dl/extractor/youku.py index c7947d4a1..5b0b248cd 100644 --- a/youtube_dl/extractor/youku.py +++ b/youtube_dl/extractor/youku.py @@ -245,13 +245,19 @@ class YoukuShowIE(InfoExtractor): # No data-id value. 'url': 'http://list.youku.com/show/id_zefbfbd61237fefbfbdef.html', 'only_matching': True, + }, { + # Wrong number of reload_id. + 'url': 'http://list.youku.com/show/id_z20eb4acaf5c211e3b2ad.html', + 'only_matching': True, }] def _extract_entries(self, playlist_data_url, show_id, note, query): query['callback'] = 'cb' playlist_data = self._download_json( playlist_data_url, show_id, query=query, note=note, - transform_source=lambda s: js_to_json(strip_jsonp(s)))['html'] + transform_source=lambda s: js_to_json(strip_jsonp(s))).get('html') + if playlist_data is None: + return [None, None] drama_list = (get_element_by_class('p-drama-grid', playlist_data) or get_element_by_class('p-drama-half-row', playlist_data)) if drama_list is None: @@ -291,8 +297,8 @@ class YoukuShowIE(InfoExtractor): 'id': page_config['showid'], 'stage': reload_id, }) - entries.extend(new_entries) - + if new_entries is not None: + entries.extend(new_entries) desc = self._html_search_meta('description', webpage, fatal=False) playlist_title = desc.split(',')[0] if desc else None detail_li = get_element_by_class('p-intro', webpage) |