youtube-dl

Another place where youtube-dl lives on
git clone git://git.oshgnacknak.de/youtube-dl.git
Log | Files | Refs | README | LICENSE

commit fbf56be213021669363b69c5d0866b2cf22ecf2a
parent 54f54fcca7af7e5bbc779cfc73d58d1ed2b4b6ae
Author: Yen Chi Hsuan <yan12125@gmail.com>
Date:   Sat, 22 Apr 2017 22:11:37 +0800

[iqiyi] Fix playlist detection (#12504)

Diffstat:
MChangeLog | 1+
Myoutube_dl/extractor/iqiyi.py | 15+++++++++------
2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -5,6 +5,7 @@ Core * [socks] Handle cases where credentials are required but missing Extractors +* [iqiyi] Fix playlist detection (#12504) - [azubu] Remove extractor (#12813) * [porn91] Fix extraction (#12814) + [generic] Support Brightcove videos in <iframe> (#12482) diff --git a/youtube_dl/extractor/iqiyi.py b/youtube_dl/extractor/iqiyi.py @@ -337,13 +337,16 @@ class IqiyiIE(InfoExtractor): url, 'temp_id', note='download video page') # There's no simple way to determine whether an URL is a playlist or not - # So detect it - playlist_result = self._extract_playlist(webpage) - if playlist_result: - return playlist_result - + # Sometimes there are playlist links in individual videos, so treat it + # as a single video first tvid = self._search_regex( - r'data-player-tvid\s*=\s*[\'"](\d+)', webpage, 'tvid') + r'data-player-tvid\s*=\s*[\'"](\d+)', webpage, 'tvid', default=None) + if tvid is None: + playlist_result = self._extract_playlist(webpage) + if playlist_result: + return playlist_result + raise ExtractorError('Can\'t find any video') + video_id = self._search_regex( r'data-player-videoid\s*=\s*[\'"]([a-f\d]+)', webpage, 'video_id')