def get_anqi_detail(response): log_page(response, 'get_anqi_detail.html') html = Selector(response) # app_channel = 'anqi' app_channel = response.meta['app_channel'] apk_name = response.meta['apk_name'] app_name = apk_name try: toget_app_link = 'http://www.apkcn.com' + html.xpath('//div[@class="imginfo"]/p[2]/a/@href').extract()[0] except: ## xpath有误。 add_error_app_info(app_channel, app_name, '0') yield None app_link = '' app_pn = '' app_version = '' app_size = '' save_dir = os.path.sep.join([APK_DOWNLOAD_DIR, apk_name]) params_dic = {} # 参数字典 params_dic['app_channel'] = app_channel # 渠道 params_dic['app_link'] = app_link # apk下载链接 params_dic['save_dir'] = save_dir # 下载apk保存的目录 params_dic['app_name'] = app_name # 要下载的apk的应用名称 params_dic['app_pn'] = app_pn # apk包名 params_dic['app_version'] = app_version # apk版本号 params_dic['app_size'] = app_size # apk文件的大小 yield Request(toget_app_link, meta={'params_dic': params_dic}, callback=get_app_link)
def get_anruan_detail(response): log_page(response, 'get_anruan_detail.html') html = Selector(response) # app_channel = 'anruan' app_channel = response.meta['app_channel'] apk_name = response.meta['apk_name'] app_name = apk_name try: app_link = html.xpath('//li[@class="app_down"]/a/@href').extract()[0] except: ## xpath有误。 add_error_app_info(app_channel, app_name, '0') return None app_pn = '' app_version = '' app_size = '' save_dir = os.path.sep.join([APK_DOWNLOAD_DIR, apk_name]) params_dic = {} # 参数字典 params_dic['app_channel'] = app_channel # 渠道 params_dic['app_link'] = app_link # apk下载链接 params_dic['save_dir'] = save_dir # 下载apk保存的目录 params_dic['app_name'] = app_name # 要下载的apk的应用名称 params_dic['app_pn'] = app_pn # apk包名 params_dic['app_version'] = app_version # apk版本号 params_dic['app_size'] = app_size # apk文件的大小 return download(**params_dic)
def get_android155_detail(response): log_page(response, 'get_android155_detail.html') html = Selector(response) # app_channel = 'android155' app_channel = response.meta['app_channel'] apk_name = response.meta['apk_name'] app_name = apk_name try: app_link = html.xpath('//*[@id="client_list"]/a/@href').extract()[0] except: ## xpath有误。 add_error_app_info(app_channel, app_name, '0') return None app_pn = '' app_version = '' app_size = '' save_dir = os.path.sep.join([APK_DOWNLOAD_DIR, apk_name]) app_download_times = '' params_dic = {} # 参数字典 params_dic['app_channel'] = app_channel # 渠道 params_dic['app_detail_url'] = response.url # apk下载页面 params_dic['app_download_times'] = app_download_times # apk下载次数 params_dic['app_link'] = app_link # apk下载链接 params_dic['save_dir'] = save_dir # 下载apk保存的目录 params_dic['app_name'] = app_name # 要下载的apk的应用名称 params_dic['app_pn'] = app_pn # apk包名 params_dic['app_version'] = app_version # apk版本号 params_dic['app_size'] = app_size # apk文件的大小 return download(**params_dic)
def get_app_link(response): log_page(response, 'get_anqi_app_link.html') html = Selector(response) params_dic = response.meta['params_dic'] try: app_link = html.xpath('//div[@class="dadadd"]/a/@href').extract()[0] except: ## xpath有误。 add_error_app_info(params_dic['app_channel'], params_dic['app_name'], '0') return None params_dic['app_link'] = app_link return download(**params_dic)
def get_apkke_detail(response): log_page(response, 'get_apkke_detail.html') html = Selector(response) # app_channel = 'apkke' app_channel = response.meta['app_channel'] apk_name = response.meta['apk_name'] app_name = apk_name try: app_link = 'http://www.apkke.com' + html.xpath('//*[@id="down-btn"]/li[1]/a/@href').extract()[0] except: ## xpath有误。 add_error_app_info(app_channel, app_name, '0') return None app_pn = '' app_version = '' app_size = '' save_dir = os.path.sep.join([APK_DOWNLOAD_DIR, apk_name]) app_download_times = '' app_download_times_js_src = 'http://www.apkke.com/plus/disdls.php?aid=' + response.url[response.url.rfind('/')+1: response.url.rfind('.')] params_dic = {} # 参数字典 params_dic['app_channel'] = app_channel # 渠道 params_dic['app_detail_url'] = response.url # apk下载页面 params_dic['app_download_times'] = app_download_times # apk下载次数 params_dic['app_link'] = app_link # apk下载链接 params_dic['save_dir'] = save_dir # 下载apk保存的目录 params_dic['app_name'] = app_name # 要下载的apk的应用名称 params_dic['app_pn'] = app_pn # apk包名 params_dic['app_version'] = app_version # apk版本号 params_dic['app_size'] = app_size # apk文件的大小 return Request(app_download_times_js_src, meta=params_dic, callback=todownload)