From 1763986ca4992ef45f63ad56f68176ac6ddf0ec5 Mon Sep 17 00:00:00 2001 From: pastebt Date: Mon, 2 Feb 2015 20:14:41 -0800 Subject: [PATCH] fix bug #353 also may fix bug #456 Now the -y proxy can be used for tv.sohu.com such as http://tv.sohu.com/20140629/n401523369.shtml?txid=8254069965286abe9ee523a73c256ea7 --- src/you_get/extractors/sohu.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/you_get/extractors/sohu.py b/src/you_get/extractors/sohu.py index 6ee472e0..c0e46545 100644 --- a/src/you_get/extractors/sohu.py +++ b/src/you_get/extractors/sohu.py @@ -11,7 +11,7 @@ def real_url(host, prot, file, new): start, _, host, key = get_html(url).split('|')[:4] return '%s%s?key=%s' % (start[:-1], new, key) -def sohu_download(url, output_dir = '.', merge = True, info_only = False): +def sohu_download(url, output_dir = '.', merge = True, info_only = False, extractor_proxy=None): if re.match(r'http://share.vrs.sohu.com', url): vid = r1('id=(\d+)', url) else: @@ -20,12 +20,16 @@ def sohu_download(url, output_dir = '.', merge = True, info_only = False): assert vid if re.match(r'http://tv.sohu.com/', url): + if extractor_proxy: + set_proxy(tuple(extractor_proxy.split(":"))) data = json.loads(get_decoded_html('http://hot.vrs.sohu.com/vrs_flash.action?vid=%s' % vid)) for qtyp in ["oriVid","superVid","highVid" ,"norVid","relativeId"]: hqvid = data['data'][qtyp] if hqvid != 0 and hqvid != vid : data = json.loads(get_decoded_html('http://hot.vrs.sohu.com/vrs_flash.action?vid=%s' % hqvid)) break + if extractor_proxy: + unset_proxy() host = data['allot'] prot = data['prot'] urls = []