From da72974fa27f614e14cd86534cfbdda5cea1d1d9 Mon Sep 17 00:00:00 2001 From: Ming Dai Date: Tue, 31 Dec 2013 21:49:20 +0800 Subject: [PATCH 1/2] fix 404 of "%s/%s.html" in qq.py --- src/you_get/extractor/qq.py | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/you_get/extractor/qq.py b/src/you_get/extractor/qq.py index b59c68bc..c8a1daa7 100644 --- a/src/you_get/extractor/qq.py +++ b/src/you_get/extractor/qq.py @@ -6,9 +6,9 @@ from ..common import * def qq_download_by_id(id, title = None, output_dir = '.', merge = True, info_only = False): url = 'http://vsrc.store.qq.com/%s.flv' % id - + _, _, size = url_info(url) - + print_info(site_info, title, 'flv', size) if not info_only: download_urls([url], title, 'flv', size, output_dir = output_dir, merge = merge) @@ -17,31 +17,31 @@ def qq_download(url, output_dir = '.', merge = True, info_only = False): if re.match(r'http://v.qq.com/([^\?]+)\?vid', url): aid = r1(r'(.*)\.html', url) vid = r1(r'http://v.qq.com/[^\?]+\?vid=(\w+)', url) - url = "%s/%s.html" % (aid, vid) - + url = 'http://sns.video.qq.com/tvideo/fcgi-bin/video?vid=%s' % vid + if re.match(r'http://y.qq.com/([^\?]+)\?vid', url): vid = r1(r'http://y.qq.com/[^\?]+\?vid=(\w+)', url) - + url = "http://v.qq.com/page/%s.html" % vid - + r_url = r1(r'(.+?)', r'title:"([^"]+)"')[0].strip() assert title title = unescape_html(title) title = escape_file_path(title) - - id = r1(r'vid:"([^"]+)"', html) - + + id = vid + qq_download_by_id(id, title, output_dir = output_dir, merge = merge, info_only = info_only) site_info = "QQ.com" From fe90e4e8578192785631ba464ec46dc8e26397c1 Mon Sep 17 00:00:00 2001 From: Ming Dai Date: Sun, 5 Jan 2014 17:24:21 +0800 Subject: [PATCH 2/2] fix failure on downloading other patterns of qq.com --- src/you_get/extractor/qq.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/you_get/extractor/qq.py b/src/you_get/extractor/qq.py index c8a1daa7..3ca87a58 100644 --- a/src/you_get/extractor/qq.py +++ b/src/you_get/extractor/qq.py @@ -33,6 +33,11 @@ def qq_download(url, output_dir = '.', merge = True, info_only = False): vid = r1(r'http://static.video.qq.com/.*vid=(\w+)', url) url = "http://v.qq.com/page/%s.html" % vid + if re.match(r'http://v.qq.com/cover/.*\.html', url): + html = get_html(url) + vid = r1(r'vid:"([^"]+)"', html) + url = 'http://sns.video.qq.com/tvideo/fcgi-bin/video?vid=%s' % vid + html = get_html(url) title = match1(html, r'(.+?)', r'title:"([^"]+)"')[0].strip() @@ -40,7 +45,10 @@ def qq_download(url, output_dir = '.', merge = True, info_only = False): title = unescape_html(title) title = escape_file_path(title) - id = vid + try: + id = vid + except: + id = r1(r'vid:"([^"]+)"', html) qq_download_by_id(id, title, output_dir = output_dir, merge = merge, info_only = info_only)