commit 085f169ffebc17ec8b2bfc63aec8f5df57c7bdcf
parent f6d6ca1db3020e7c7771880d0c4b58fdf732a8d5
Author: Sergey M․ <dstftw@gmail.com>
Date: Mon, 13 Feb 2017 23:44:43 +0700
[xtube] Fix extraction for both kinds of video id (closes #12088)
Diffstat:
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/youtube_dl/extractor/xtube.py b/youtube_dl/extractor/xtube.py
@@ -44,6 +44,9 @@ class XTubeIE(InfoExtractor):
}, {
'url': 'xtube:625837',
'only_matching': True,
+ }, {
+ 'url': 'xtube:kVTUy_G222_',
+ 'only_matching': True,
}]
def _real_extract(self, url):
@@ -53,11 +56,16 @@ class XTubeIE(InfoExtractor):
if not display_id:
display_id = video_id
- url = 'http://www.xtube.com/watch.php?v=%s' % video_id
- req = sanitized_Request(url)
- req.add_header('Cookie', 'age_verified=1; cookiesAccepted=1')
- webpage = self._download_webpage(req, display_id)
+ if video_id.isdigit() and len(video_id) < 11:
+ url_pattern = 'http://www.xtube.com/video-watch/-%s'
+ else:
+ url_pattern = 'http://www.xtube.com/watch.php?v=%s'
+
+ webpage = self._download_webpage(
+ url_pattern % video_id, display_id, headers={
+ 'Cookie': 'age_verified=1; cookiesAccepted=1',
+ })
sources = self._parse_json(self._search_regex(
r'(["\'])sources\1\s*:\s*(?P<sources>{.+?}),',