aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYen Chi Hsuan <yan12125@gmail.com>2017-04-25 22:23:57 +0800
committerYen Chi Hsuan <yan12125@gmail.com>2017-04-25 22:23:57 +0800
commit01cb57016ff747ab07c506a708093dfd633d58f6 (patch)
tree401e9d6f2b15e7c84ccd41c706ce912c96935195
parent290f64dbaa3a8c187d47b72b3c808bd52d15a6e8 (diff)
downloadyoutube-dl-01cb57016ff747ab07c506a708093dfd633d58f6.tar.xz
[iqiyi] Fix extraction of Yule videos
-rw-r--r--ChangeLog1
-rw-r--r--youtube_dl/extractor/iqiyi.py13
2 files changed, 10 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 50daa1a69..d38039663 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,7 @@ Core
* [socks] Handle cases where credentials are required but missing
Extractors
+* [iqiyi] Fix extraction of Yule videos
* [iqiyi] Fix playlist detection (#12504)
- [azubu] Remove extractor (#12813)
* [porn91] Fix extraction (#12814)
diff --git a/youtube_dl/extractor/iqiyi.py b/youtube_dl/extractor/iqiyi.py
index 8a711afb9..fdfa7de9e 100644
--- a/youtube_dl/extractor/iqiyi.py
+++ b/youtube_dl/extractor/iqiyi.py
@@ -189,7 +189,11 @@ class IqiyiIE(InfoExtractor):
'only_matching': True,
}, {
'url': 'http://yule.iqiyi.com/pcb.html',
- 'only_matching': True,
+ 'info_dict': {
+ 'id': '4a0af228fddb55ec96398a364248ed7f',
+ 'ext': 'mp4',
+ 'title': '第2017-04-21期 女艺人频遭极端粉丝骚扰',
+ },
}, {
# VIP-only video. The first 2 parts (6 minutes) are available without login
# MD5 sums omitted as values are different on Travis CI and my machine
@@ -340,7 +344,7 @@ class IqiyiIE(InfoExtractor):
# 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', default=None)
+ r'data-(?:player|shareplattrigger)-tvid\s*=\s*[\'"](\d+)', webpage, 'tvid', default=None)
if tvid is None:
playlist_result = self._extract_playlist(webpage)
if playlist_result:
@@ -348,7 +352,7 @@ class IqiyiIE(InfoExtractor):
raise ExtractorError('Can\'t find any video')
video_id = self._search_regex(
- r'data-player-videoid\s*=\s*[\'"]([a-f\d]+)', webpage, 'video_id')
+ r'data-(?:player|shareplattrigger)-videoid\s*=\s*[\'"]([a-f\d]+)', webpage, 'video_id')
formats = []
for _ in range(5):
@@ -380,7 +384,8 @@ class IqiyiIE(InfoExtractor):
self._sort_formats(formats)
title = (get_element_by_id('widget-videotitle', webpage) or
- clean_html(get_element_by_attribute('class', 'mod-play-tit', webpage)))
+ clean_html(get_element_by_attribute('class', 'mod-play-tit', webpage)) or
+ self._html_search_regex(r'<span[^>]+data-videochanged-title="word"[^>]*>([^<]+)</span>', webpage, 'title'))
return {
'id': video_id,