aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorParmjit Virk <pvirk@mts.net>2017-06-22 12:08:36 -0500
committerSergey M <dstftw@gmail.com>2017-06-23 00:08:36 +0700
commit0f4a5a73e70172c0accbd2e936d08988d065b3b1 (patch)
tree2001ae78f77cc07fb26f3ac1dc04af09db675fd2
parent18166bb8e8db6bbeb1f279e236b9808e7d197dd8 (diff)
downloadyoutube-dl-0f4a5a73e70172c0accbd2e936d08988d065b3b1.tar.xz
[drtuber] Fix formats extraction (fixes 12058)
-rw-r--r--youtube_dl/extractor/drtuber.py21
1 files changed, 18 insertions, 3 deletions
diff --git a/youtube_dl/extractor/drtuber.py b/youtube_dl/extractor/drtuber.py
index 1eca82b3b..c5d56a9ad 100644
--- a/youtube_dl/extractor/drtuber.py
+++ b/youtube_dl/extractor/drtuber.py
@@ -44,8 +44,23 @@ class DrTuberIE(InfoExtractor):
webpage = self._download_webpage(
'http://www.drtuber.com/video/%s' % video_id, display_id)
- video_url = self._html_search_regex(
- r'<source src="([^"]+)"', webpage, 'video URL')
+ video_data = self._download_json(
+ 'http://www.drtuber.com/player_config_json/', video_id, query={
+ 'vid': video_id,
+ 'embed': 0,
+ 'aid': 0,
+ 'domain_id': 0,
+ })
+
+ formats = []
+ for format_id, video_url in video_data['files'].items():
+ if video_url:
+ formats.append({
+ 'format_id': format_id,
+ 'quality': 2 if format_id == 'hq' else 1,
+ 'url': video_url
+ })
+ self._sort_formats(formats)
title = self._html_search_regex(
(r'class="title_watch"[^>]*><(?:p|h\d+)[^>]*>([^<]+)<',
@@ -75,7 +90,7 @@ class DrTuberIE(InfoExtractor):
return {
'id': video_id,
'display_id': display_id,
- 'url': video_url,
+ 'formats': formats,
'title': title,
'thumbnail': thumbnail,
'like_count': like_count,