From 1746adab2251904daf4bbd6bc0010ee23015c542 Mon Sep 17 00:00:00 2001 From: cnbeining Date: Tue, 15 Mar 2016 03:00:07 -0400 Subject: [PATCH 1/2] [dilidili]Fix #987, close #986 --- src/you_get/extractors/dilidili.py | 58 ++++++++++++++++++++---------- 1 file changed, 39 insertions(+), 19 deletions(-) mode change 100644 => 100755 src/you_get/extractors/dilidili.py diff --git a/src/you_get/extractors/dilidili.py b/src/you_get/extractors/dilidili.py old mode 100644 new mode 100755 index 1c5340a6..c68c17a6 --- a/src/you_get/extractors/dilidili.py +++ b/src/you_get/extractors/dilidili.py @@ -3,12 +3,26 @@ __all__ = ['dilidili_download'] from ..common import * +from .ckplayer import ckplayer_download + +headers = { + 'DNT': '1', + 'Accept-Encoding': 'gzip, deflate, sdch, br', + 'Accept-Language': 'en-CA,en;q=0.8,en-US;q=0.6,zh-CN;q=0.4,zh;q=0.2', + 'Upgrade-Insecure-Requests': '1', + 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36', + 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', + 'Cache-Control': 'max-age=0', + 'Referer': 'http://www.dilidili.com/', + 'Connection': 'keep-alive', + 'Save-Data': 'on', +} #---------------------------------------------------------------------- -def dilidili_parser_data_to_stream_types(typ ,vid ,hd2 ,sign): +def dilidili_parser_data_to_stream_types(typ ,vid ,hd2 ,sign, tmsign, ulk): """->list""" - parse_url = 'http://player.005.tv/parse.php?xmlurl=null&type={typ}&vid={vid}&hd={hd2}&sign={sign}'.format(typ = typ, vid = vid, hd2 = hd2, sign = sign) - html = get_html(parse_url) + parse_url = 'http://player.005.tv/parse.php?xmlurl=null&type={typ}&vid={vid}&hd={hd2}&sign={sign}&tmsign={tmsign}&userlink={ulk}'.format(typ = typ, vid = vid, hd2 = hd2, sign = sign, tmsign = tmsign, ulk = ulk) + html = get_content(parse_url, headers=headers) info = re.search(r'(\{[^{]+\})(\{[^{]+\})(\{[^{]+\})(\{[^{]+\})(\{[^{]+\})', html).groups() info = [i.strip('{}').split('->') for i in info] @@ -19,46 +33,52 @@ def dilidili_parser_data_to_stream_types(typ ,vid ,hd2 ,sign): stream_types.append({'id': str(i[1][-1]), 'container': 'mp4', 'video_profile': i[0]}) return stream_types -#---------------------------------------------------------------------- -def dilidili_parser_data_to_download_url(typ ,vid ,hd2 ,sign): - """->str""" - parse_url = 'http://player.005.tv/parse.php?xmlurl=null&type={typ}&vid={vid}&hd={hd2}&sign={sign}'.format(typ = typ, vid = vid, hd2 = hd2, sign = sign) - html = get_html(parse_url) +##---------------------------------------------------------------------- +#def dilidili_parser_data_to_download_url(typ ,vid ,hd2 ,sign, tmsign, ulk): + #"""Not used for now""" + #parse_url = 'http://player.005.tv/parse.php?xmlurl=null&type={typ}&vid={vid}&hd={hd2}&sign={sign}&tmsign={tmsign}&userlink={ulk}'.format(typ = typ, vid = vid, hd2 = hd2, sign = sign, tmsign = tmsign, ulk = ulk) + #html = get_content(parse_url, headers=headers) - return match1(html, r'') + #return match1(html, r'') #---------------------------------------------------------------------- def dilidili_download(url, output_dir = '.', merge = False, info_only = False, **kwargs): if re.match(r'http://www.dilidili.com/watch/\w+', url): - html = get_html(url) + html = get_content(url) title = match1(html, r'(.+)δΈ¨(.+)') #title # player loaded via internal iframe frame_url = re.search(r'