diff options
author | Parmjit Virk <pvirk@mts.net> | 2017-06-22 12:08:36 -0500 |
---|---|---|
committer | Sergey M <dstftw@gmail.com> | 2017-06-23 00:08:36 +0700 |
commit | 0f4a5a73e70172c0accbd2e936d08988d065b3b1 (patch) | |
tree | 2001ae78f77cc07fb26f3ac1dc04af09db675fd2 | |
parent | 18166bb8e8db6bbeb1f279e236b9808e7d197dd8 (diff) |
[drtuber] Fix formats extraction (fixes 12058)
-rw-r--r-- | youtube_dl/extractor/drtuber.py | 21 |
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, |