diff options
| -rw-r--r-- | ChangeLog | 1 | ||||
| -rw-r--r-- | youtube_dl/extractor/iqiyi.py | 15 | 
2 files changed, 10 insertions, 6 deletions
@@ -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 index 2af6a6db4..8a711afb9 100644 --- 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')  | 
