精华内容
下载资源
问答
  • 当今互联网已进入大数据时代,通过分析海量数据,可以产生巨大的商业价值。当我们需要大量数据时,如何获得这些数据?通常使用的方法主要有以下几种。 商业生产的数据 公司在生产经营过程中会产生大量与其经营活动...

    当今互联网已进入大数据时代,通过分析海量数据,可以产生巨大的商业价值。当我们需要大量数据时,如何获得这些数据?通常使用的方法主要有以下几种。

    商业生产的数据

    公司在生产经营过程中会产生大量与其经营活动有关的数据,如:百度搜索指数,腾讯公司业绩数据,阿里巴巴集团财务运营数据,新浪微博微指数等。

    大网络公司拥有庞大的用户群体,具有自然积累数据的优势,以及一些注重数据的中小企业,也开始积累自己的数据。

    购买数据平台的数据

    以数据交易为主要业务的数据平台如:数据堂、国云数据市场、贵阳大数据交易所等。

    购买各行各业的各类数据到各个数据交易平台上进行交易,根据数据信息的不同,获取难易程度不同,价格也就不同。

    由政府/机构提供的数据

    此外,政府和机构还将发布一些公开数据,作为行业权威信息的来源。比如中华人民共和国国家统计局的数据,中国人民银行的调查数据,世界银行的公开数据,联合国的数据,纳斯达克的数据,新浪财经的美股实时行情等等。

    这类数据通常是由各地政府统计报告,或由行业内的专业网站、机构等提供。

    资料管理顾问公司的资料

    为了提供专业的咨询服务,数据管理咨询公司将收集并提供与具体业务相关的数据作为支持。这类管理咨询公司的数量很多,比如麦肯锡,埃森哲,尼尔森,艾瑞等等。

    这些公司往往拥有非常庞大的数据团队,通常是通过市场研究、问卷调查、固定样品测试、与其他来自各行各业的公司合作、专家对话等方式获得数据,并根据客户需求开发商业解决方案。

    现在大家知道爬取数据的应用场景了吧,希望本章内容可以帮助到大家哦~

    展开全文
  • 1.python 爬虫技术selenium和requests 2.python Excel表格处理 3.http请求的分析 4.python如何处理Json数据 处理办法:python 在网站爬取所有要素,程序中加入判断规则,输出成Excel表格。原来3天的工作量,现在1...
  • 我们在做数据网络爬虫网站数据采集、网页数据抓取都会遇到的三个问题就是:验证码问题和封IP问题以及账号登录问题 python爬虫-selenium破解封IP+pytesseract破解验证码+AI破解网页加密  一直在it大咖网从事...

    我们在做数据网络爬虫、网站数据采集、网页数据抓取都会遇到的三个问题就是:验证码问题和封IP问题以及账号登录问题

    python爬虫-selenium破解封IP+pytesseract破解验证码+AI破解网页加密

         一直在it大咖网从事python大数据挖掘、数据爬虫、AI技术开发工作,最近在深入研究人工智能“深度学习”TensorFlow技术,采用AI技术做数据爬虫和数据挖掘的工作,AI技术主要是建立爬虫的模型、深度训练机器人、样本数据验证模型、最后我们的机器人就可以像我们千军万马的真人在做爬虫的工作了,解决了爬虫界遇到的各种验证码、封IP、加密的问题。

      爬虫遇到的各种反爬难题:

    我们知道人工智能的前面工作是喂养大量数据,那么这些数据怎么来呢?大数据的来源是需要用深度爬虫技术技术解决的,我从事过天某查的大数据爬虫系统深度研发、几个亿企业工商数据的采集和城市数据库建立、自己用python写过企某宝、企某查、淘宝、天猫、国家工商公示系统网站的数据爬虫等,每个网站的反爬技术都是不同的,像天某查,您如果需要采用python简单的request.get()技术是爬不到数据的,为什么呢?因为这个网站做了强大的反爬技术措施,您只要发起http模拟请求,立刻检测到您是爬虫,然后把您的IP封掉,或者直接服务器那边拒绝你访问。除了封IP外,第二个反爬技术提现在验证码,网站使用验证码的目的就是防止网站数据被爬虫程序机器爬去,因为普通的爬虫就技术是识别不出验证码的,需要用人的眼睛看才能识别出来验证码的数字,所以验证码一直是网站一道强大的守门神。比如当您爬天某查的时候,程序运行几分钟后就会自动弹出个验证码,如果您没有破解验证码那么爬虫工作也就停止了。更有趣的是有些网站采用矢量图加密,也就是传说中的字体库加密,很多爬虫高手对于这个问题缺少是束手无策。因为自己一直喜欢深度研究爬虫技术,希望的经验分享给大家,给大家一点启发.

    当前网站的反爬技术有哪些:

    1、天某查反爬技术分析:

    图形验证码反爬:采用是图形验证码反爬技术,进行人机识别,实现反爬目的
    (2)封IP发爬:服务器后台监控每个IP爬取数据的频率,如果发现同一个IP老是一直在采集就会封掉ip。

    (3)VIP登录反爬:有些数据需要登录,如果不用VIP登陆是不能看到这些数据的,必须登录才能进行爬取数据。

     

    矢量图加密:天某查的技术团队自己研发了一套字体库,用来混淆加密,让我们用浏览器打开看到的数据是正常的,但是用google或者firefox查看元素的时候看到的值是加密的值,现在这个技术对注册资本、公司经营范围、手机号码、邮箱字段等进行了字体库加密,所以我们眼睛看到的和元素源码看到的数据是不一致的,这个也是目前最高端的反爬技术。几乎没有人能够破解。(需要爬虫技术和大数据交流朋友加我qq:2779571288)
       分享基础版爬虫思路:

           像这种综合反爬技术的网站,我们要去批量采集数据,我们需要采取对的技术方式,比如如果我们需要爬取类似这种网站所有的企业工商数据,那么我们可以采用动态代理ip+cookie方式去采集,只有用python简单的 requests库和 BS4库即可,demo代码如下:

    ***************************动态代理IP爬虫完整方法*************************************************************************

    Headers:是请求头,您需要模拟浏览器的请求头,请求头到底有哪些参数呢,您用google浏览器或者firefox火狐浏览器打开这个网站 然后查看元素,看网络请求里面有个 Request headers 这个就是请求头需要模拟发送的参数。如下图:

     cookies:是您打开那个网站后用firebox请求记录里可以看到的cookie值复制过得即可;

     Proxy: 是代理IP,您一定要用动态的爬虫代理IP去爬这种的网站,如果失败就循环下个代理IP直到成功为止。 代理IP可以去网上或者淘宝购买一些第三方的动态代理IP,但是需要高质量的、高匿名的、不限量的否则你几乎是爬不成功的,不要用几个IP尝试不成功觉得不行,需要循环大量IP,因为有些IP本身就暴露自己的身份了。

    完整的爬虫代码:

    import re

    import requests

    from bs4 import BeautifulSoup

     

    def get_html(url, headers={}, cookies={}.proxy={}):

        while True:

            try:

                print("模拟请求:"+url);

                resp = requests.get(url, headers=headers, cookies=cookies, proxies=proxy, timeout=10)

                else:

                    resp = requests.get(url, headers=mheaders, cookies=cookies, proxies=proxy, timeout=10)

                if 'tianyancha' in url:

                    if resp.status_code == requests.codes.ok:

                        if '请输入验证码' not in resp.text:

                            return resp.text

                        else:

                            print('{}被封了!'.format(proxy))

                    elif '融资历史' in resp.text:

                        return resp.text

                    else:

                        print('返回代码编号1:{}, url:{}'.format(resp.status_code, url))

                else:

                    if resp.status_code == requests.codes.ok:

                        if '小查为' in resp.text or '基本信息' in resp.text:

                            return resp.text

                    else:

                        print('返回的代码编号2:{}, url:{}'.format(resp.status_code, url))

            except Exception as e:

                print('url :{},捕获code:{}'.format(url, e))

    这种简单的爬取方法不用什么框架,直接python引进bs4库用BeautifulSoup解析html的数据、用requests库来发起网络get的请求即可,简单几行代码即可。

    面临的问题:

             下面问题来了,我们采用的这种get+动态代理IP爬取这种加密的数据,而且需要登录才能看到的数据,面临的问题就是 手机号码是加密的 你爬不到手机号码,邮箱也是加密的,更厉害是注册资本也是用矢量字体库加密技术加密的,而且需要消耗大量的动态代理ip,高质量的动态ip成本是一个月几千到几万的费用,这样的爬虫技术是无法满足真正采集目的。

    分享中端版解决思路:

         我们需要解决的是手机号码加密,可以爬取到会员登录看到的数据,那么我们采用的技术方案是:会员模拟登陆,而且还要绕过封IPD 的问题,那么在python爬虫技术中,我们只要采用chromedriver+selenium+chrome来实现自动模拟人工登录,模拟正常人一样的打开浏览器然后输入关键词然后去搜索然后得到数据结构,这样就是完全真实浏览器操作一样,目标网站是无法识别出来的。那么这里需要注意几点:就是chromedriver版本和chrome版本要对应,否则是是不成功的。

    **************selenium+chromedriver+chrome 安装*****************************

     1 安装pyhton3

     2 下载 chromedriver.exe (v2.41版本) 放入 E:\python3.7\Scripts目录下

     3 安装 chrome 版本 69.0.3497.100(正式版本) (64 位)

    chrome浏览器地址:https://dl.lancdn.com/landian/software/chrome/m/

    chromedriver.exe 下载地址: http://npm.taobao.org/mirrors/chromedriver

    ***********selenium+chromedriver+chrome完整demo**************

    # encoding=utf-8

    # ----------------------------------------

    # 语言:Python3.7

    # 日期:2018-05-01

    # 功能:破解图形验证码,

    # ----------------------------------------

     

    import time

    import json

    import os

    import io

    import sys

    import re

    import requests

    from bs4 import BeautifulSoup

    from selenium import webdriver

    from selenium.webdriver.common.by import By

    from selenium.webdriver.common.keys import Keys

    from selenium.webdriver.support import expected_conditions as EC

    from selenium.webdriver.support.wait import WebDriverWait

     

    options = webdriver.ChromeOptions()

    browser = webdriver.Chrome(chrome_options=options)

    global count

    browser.set_window_size(1050, 900) #设置浏览器打开窗口大小

    browser.get('https://www.tianxxxxcha.com/login’)#用get打开网址

    html=Browser.page_source #用获取网页的html源码

    Print(html) #打印出来看看结果是不是

    #模拟登陆:

     #找到搜索框

     searchbox=browser.find_element(By.XPATH,'.//*[@class="input -sm js-live-search-auto"]')

     searchbtn=browser.find_element(By.XPATH,'.//*[@class="input-group-btn btn -sm btn-primary"]')

             searchbox.click();#鼠标点击一下搜索框 鼠标放入搜索框意思

             searchbox.clear()

             time.sleep(2) #停留2秒不要太快,否容易被检测到

             searchbox.send_keys(‘上海xxx有限公司’) #控制鼠标把需要采集的关键词输入到搜索框去

             time.sleep(2) #停留2秒不要太快,否容易被检测到

     

             searchbtn.click(); #模拟鼠标 点击“搜索”按钮

    ***********************************************************************

     下面是selenium操作浏览器鼠标键盘的各种方法:

    WebElement接口获取值

    size 获取元素的尺寸

    text 获取元素的文本

    get_attribute(name) 获取属性值

    location 获取元素坐标,先找到要获取的元素,再调用该方法

    page_source 返回页面源码

    driver.title 返回页面标题

    current_url 获取当前页面的URL

     

    is_displayed() 设置该元素是否可见

    is_enabled() 判断元素是否被使用

    is_selected() 判断元素是否被选中

    tag_name 返回元素的tagName

    --------------------------------

    **********************************************************************************

    2、国家工商信息系统网反爬技术分析:

      (1)、二代极速拖拉验证码反爬技术:图形验证码是比较传统的验证码破解难度更大一点,因为需要模拟拖动的速度、拼接的吻合度等等。而且这个网站是采取不登录方式,每次查询都需要输入一次验证码,导致90%的爬虫工程师都无法越过这个极速验证码真正去爬取里面的数据,因为如果用普通的技术去越过这种验证码 需要高质量的、高匿名的、无限量的爬虫动态代理IP,成本太大,几乎没有几个公司可以愿意承担得起这个成本,想要破解这种极速验证码需要用另外的技术方式来处理。

     

     

    因为时间有限,今天只能先分享交流到这里,最近在做AI爬虫模型,后面给大家分享如果用python这种极速验证码、图像验证码、字体库加密,如何用TensorFlow 进行深度学习来做机器人和训练机器人模型(需要爬虫技术和大数据交流朋友加我qq:2779571288)
    --------------------- 
    作者:liujainq 
    来源:CSDN 
    原文:https://blog.csdn.net/liujainq/article/details/83866794 
    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • 说一下我的犯罪经历,之前公司总是抓取某某网站数据,可能是被发现了。某某网站改变了策略。通过各种技术终止了我们的行为,导致我们的抓取功能报错,逐步跟踪,发现我们之前是在人家的网站,通过Webharvest网络爬虫...

    经历了两个礼拜的折腾,某某知名网站的数据终于到手了。犯罪没被发现这种心情感觉很爽。

    说一下我的犯罪经历,之前公司总是抓取某某网站数据,可能是被发现了。某某网站改变了策略。通过各种技术终止了我们的行为,导致我们的抓取功能报错,逐步跟踪,发现我们之前是在人家的网站,通过Webharvest网络爬虫拿到页面的一个javascript 的变量 var config 的值 (变量值中包含想要的数据)配置如下。

    Scraper 配置

    <?xml version="1.0" encoding="UTF-8"?>
    <config charset="UTF-8">
    	<var-def name="targetFile" overwrite="false"></var-def>
    	<var-def name="crawlUrl" overwrite="false"></var-def>
    	<var-def name="cardata">
    		<xpath expression="//script[6]/text()">
    			<html-to-xml>
    				<http url="${crawlUrl}" />
    			</html-to-xml>
    		</xpath>
    	</var-def>
    	<var-def name="configJson">
    		<script return="carModelJson">
    			<![CDATA[
    	            var cardataStr = cardata.toString();
    	            carModelJson = cardataStr.substring(cardataStr.indexOf("var config")+12,cardataStr.indexOf("var option")) ;
    	        ]]>
            </script>
    	</var-def>
    	<file action="write" path="${targetFile}">
    		<template>
    			<var name="configJson" />
    		</template>
    	</file>
    </config>
    java 抓取方法如下:

    public boolean genCrawl(String uri) {
    		try {
    			long startTime = System.currentTimeMillis();
    			String[] autohomeMultiSeries = uri.split(Constants.SPLITSTR);
    			for (int i = 0; i < autohomeMultiSeries.length; i++) {
    				String url = getUrl(autohomeMultiSeries[i]);
    				if("0".equals(autohomeMultiSeries[i])){
    					url = "http://file.xxx.com/xxx_null.html";
    				}
    				String targetFileName = Constants.getTargetStore(autohome, autohomeMultiSeries[i]);
    				targetFileName = targetFileName.replace("\\", "/").replace("//", "/");
    				String template = Constants.getTemplateByType(autohome);
    				template = template.replace("\\", "/").replace("//", "/");
    				ScraperConfiguration config = new ScraperConfiguration(template);
    				Scraper scraper = new Scraper(config, Constants.DEFAULT_TEMP_DIR.replace("\\", "/").replace("//", "/"));
    				scraper.addVariableToContext("crawlUrl", url);
    				scraper.addVariableToContext("targetFile", targetFileName);
    				scraper.setDebug(true);
    				scraper.execute();
    			}
    			long endTime = System.currentTimeMillis();
    			log.info("usetime:" + (endTime - startTime));
    			return true;
    		} catch (Exception e) {
    			e.printStackTrace();
    			log.error("processCrawlModel", e);
    			SendMailUtils.sendExceptionMail("【异常预警】AutohomeSiteService.genCrawl()",e);
    		}
    		return false;
    	}

    介绍一下关键代码:

    ScraperConfiguration config = new ScraperConfiguration(template);
    调用Webharves 配置文件 ,参数template 是配置文件的地址。
    Scraper scraper = new Scraper(config, Constants.DEFAULT_TEMP_DIR.replace("\\", "/").replace("//", "/"));
    webharves 的Scraper切割机工具类的调用。
    scraper.addVariableToContext("crawlUrl", url);
    向切割机传入要抓取数据的访问地址scraper.addVariableToContext("targetFile", targetFileName);
    告诉切割机抓到数据后,存放数据的地址。(生成一个数据文件)scraper.setDebug(true);
    方便调式一般设为truescraper.execute();
    确定执行切割并抓取数据操作
    这样就可以将数据持久化到想去的地方。



    
    

    这样的操作维持很久,终于有一天我们被拒绝了。

    某某网站当然不是傻瓜,时间久了发现我们对他们的地址异常访问,然而和我们玩起了对抗。

    之前的数据格式是 var config="{name:"xxx",param:[{name:xxx,sex:xxx}]}"

    之后的数据格式是 var config="{name:"<span class="值得样式"></span>",param:[{name:<span class="值得样式"></span>,sex:<span class="值得样式"></span>}]}"

    将之前的数据值用span 标签代替,将值放在样式中。然后样式是用javascript 通过参数动态 将样式按照字母分开成多个串拼接而成。

    在页面找不到拼接后的样式。值能在Firebug 中看到。如果拿不到样式文件就无法拿到var config 的全部数据。能想到的一个方案就是还原javascript生成的样式。看到javascript生成样式得方法,会让你很想吐。我的这个js 代码粘出来给你看看。

    (function(LVQ_){function uid_(){if (Yux_()) {if(Hta_('Cjq_')=='Cjq_'){JrX_();}}if(!Yux_()) {if(Hta_('usk_')!='fQR_'){jPq_();}}} function BpA_(){JeR_ = Psn_()[''+mif_+Kpo_+SFZ_+UJz_+Bkt_+cmu_+lFD_+Qkv_+XZJ_+NBY_+tic_+xrJ_+CnE_+YMw_+DVb_+zyv_+reM_+loy_](''+pl_+HP_+gZ_+du_+WU_+Lr_+ig_+VS_+CJ_+Mx_+vE_+di_+rD_+xE_+jl_+Ls_+Ky_+Yw_+wK_+bR_+Mq_+UM_+yb_+cl_+Ig_+bJ_+Sg_+pq_+od_+Yn_+HZ_+tW_+ct_+AQ_+zz_+Pw_+VB_+Qe_+qk_+zT_+vl_+hR_+VH_+lK_+AI_+uw_+Rx_+xM_+lr_+lL_+aQ_+Qr_+In_+Wq_+Fz_+YI_+xh_+jc_+HN_+bq_+XM_+ID_+OP_+HD_+uE_+aK_+ZC_+DL_+UG_+vc_+Kq_+XH_+vZ_+nj_+fH_+ky_+QN_+rd_+Pb_+Dp_+jy_+wO_+qX_+cB_+ZG_+DQ_+yM_+Hb_+Bj_+Az_+yk_+YJ_+zG_+hC_+WG_+aU_+Io_+tg_+jQ_+sz_+zY_+KR_+tB_+Lm_+DU_+oC_+ft_+Ts_+AF_+YR_+yT_+yg_+NK_+Vv_+ax_+Pd_+le_+TG_+tQ_+XL_+hq_+tc_+Sb_+Be_+Ny_+UQ_+cv_+Ar_+Iq_+PQ_+FM_+ua_+IA_+Gz_+jS_+bG_+TR_+KL_+Ro_+up_+ov_+Ys_+dZ_+DB_+AC_+Za_+YB_+fY_+kC_+DZ_+FD_+ir_+Yq_+OL_+ss_+xV_+mo_+fd_+Lq_+sE_+Gc_+Uu_+nX_+or_+mX_+VJ_+vK_+Zx_+Fp_+gl_+mR_+YL_+Uf_+fF_+ym_+ql_+FV_+id_+Yk_+pE_+Gk_+St_+Ex_+OS_+mx_+ci_+aj_+pd_+oc_+UD_+Oe_+jv_+Xf_+xj_+DA_+xq_+bT_+Rl_+TP_+zj_+he_+Mk_+nu_+kv_+ae_+LE_+oT_+SJ_+Pr_+gF_+rs_+YM_+RN_+nV_+iV_+OX_+fj_+mH_+wi_+PT_+ro_+uH_+xe_+Zs_+tu_+KI_+SG_+De_+Yj_+KA_+TU_+uc_+Ij_+Ep_+KM_+yF_+BC_+NL_+kc_+kX_+gK_+BD_+zO_+vz_+Er_+QG_+SC_+kY_+pu_+LD_+ti_+SE_+YO_+Je_+ee_+Ks_+CH_+FZ_+kj_+jE_+si_+qe_+GR_+lJ_+lb_+Fx_+vo_+Wk_+lP_+aW_+xt_+GZ_+Cj_+Qv_+gm_+Pt_+RF_+Ji_+wq_+xK_+eP_+Of_+wJ_+yu_+wR_+el_+au_+gH_+xn_+dh_+uv_+eZ_+GS_+XX_+iG_+kR_+Mu_+RK_+wY_+MW_+BV_+lB_+av_+RS_+IE_+Gt_+YA_+El_+UL_+Qq_+oa_+WV_+dK_+Vy_+TF_+IS_+aO_+Mw_+Gp_+Bp_+VW_+DI_+Me_+bP_+Kg_+RG_+IW_+eo_+VQ_+io_+kl_+It_+Zw_+iI_+Cm_+mJ_+RA_+XO_+fx_+DK_+GN_+Gu_+td_+wj_+xr_+ef_+tN_+uo_+Sd_+pC_+oq_+AT_+Om_+Jc_+JS_+Xt_+mE_+yo_+qi_+JM_+IL_+FX_+eE_+yn_+Ju_+bO_+sN_+sh_+mB_+gN_+sO_+tG_+wC_+Bx_+bj_+Kn_+mZ_+Ql_+zv_+hu_+jM_+Mh_+AZ_+UY_+sP_+qz_+Pu_+Tq_+Wi_+tz_+oL_+TS_+Gg_+SZ_+fn_+ph_+FY_+Da_+YV_+ib_+cP_+Cl_+BM_+CS_+Pl_+gX_+jC_+Ol_+qR_+Ck_+KC_+Fn_+pA_+NV_+If_+YK_+NS_+Zi_+Od_+Oq_+JT_+Hm_+wu_+Vw_+HW_+vx_+Jo_+fu_+ZY_+ip_+Md_+Wj_+ZO_+MG_+dG_+Wt_+US_+Uv_+XS_+dC_+cq_+HT_+qZ_+sQ_+nM_+nI_+Xl_+JQ_+KS_+Pf_+kn_+mg_+ND_+wS_+oH_+FN_+HR_+Rv_+HH_+iU_+Jv_+lu_+YQ_+hv_+bK_+Gf_+fp_+CY_+kB_+fw_+Vg_+sZ_+kL_+vS_+KH_+tK_+Bb_+iW_+My_+gI_+jb_+VC_+yp_+gR_+ZZ_+Fr_+Bz_+xU_+hK_+by_+UI_+KO_+dU_+bF_+FP_+kG_+IY_+wT_+JA_+fA_+eJ_+Db_+DP_+fe_+je_+rx_+tj_+gT_+Fv_+OE_+ZE_+Zf_+EQ_+hg_+GF_+Lg_+wN_+sS_+my_+JC_+pp_+He_+Qs_+dH_+xu_+Tv_+YC_+IG_+zW_+jO_+MO_+mp_+EU_+ZR_+jm_+Kd_+ab_+Cp_+tV_+kU_+ML_+sp_+NW_+cj_+wE_+xx_+Go_+Ao_+FQ_+AJ_+rn_+Ba_+BW_+dr_+tx_+Ms_+NI_+LA_+Xe_+hn_+OA_+sA_+sm_+TW_+pe_+Zl_+vR_+bB_+Dj_+Jx_+qV_+Ad_+eR_+qA_+GC_+Aq_+PF_+pZ_+li_+aX_+gn_+OH_+Dh_+rv_+vV_+II_+da_+sH_+Lk_+CT_+ES_+eu_+Ok_+Zc_+PU_+Yt_+NO_+Ly_+ha_+nb_+Wx_+uM_+Yd_+Cx_+MV_+OQ_+bm_+GY_+Qc_+IJ_+xs_+zu_+cy_+Eh_+PE_+aR_+mD_+WJ_+As_+pk_+AH_+cU_+KF_+xN_+xv_+Qz_+rC_+cO_+ts_+HV_+vO_+zS_+Gm_+Fo_+wo_+zk_+WT_+Ma_+vk_+dS_+zl_+ZS_+Wh_+fG_+kE_+wp_+yW_+bc_+tk_+Yp_+pR_+KX_+BS_+Ty_+Bi_+fQ_+Bh_+JW_+wd_+UX_+PM_+QU_+Ed_+cZ_+UZ_+vI_+EI_+eL_+DT_+JI_+ez_+YY_+hb_+DC_+ec_+Wr_+xW_+gW_+zq_+YS_+BN_+Hj_+Du_+cQ_+WM_+yl_+yQ_+uC_+lz_+Te_+Ph_+UO_+Iw_+Xs_+KE_+HA_+PI_+vJ_+yr_+Uj_+mK_+Ff_+lX_+vs_+Ds_+DV_+lU_+yc_+lf_+IN_+Fb_+GE_+Xq_+UE_+Xv_+wv_+Kb_+Ej_+la_+Xm_+NT_+rN_+qt_+Fc_+vC_+iB_+sn_+ZU_+lM_+CF_+Ri_+Ye_+HB_+EW_+cW_+Yf_+oh_+Jn_+tl_+xY_+AD_+iX_+Cy_+zK_+CV_+Xx_+QW_+Vh_+Bw_+Vs_+Sq_+ed_+Tn_+to_+pr_+aZ_+VT_+CL_+fk_+pz_+bC_+YD_+Dl_+dl_+jK_+fI_+Wm_+CP_+Ga_+Yl_+pT_+Ae_+Ry_+VR_+YX_+rM_+XI_+gk_+oQ_+kp_+eq_+NC_+NP_+sT_+ux_+hT_+tL_+sX_+FK_+qx_+kS_+OC_+eT_+yV_+Ra_+Hh_+Wc_+Rd_+uZ_+nn_+Kj_+Zk_+JK_+Zn_+GM_+hV_+JL_+UA_+bQ_+zR_+JD_+Wf_+gs_+pf_+Ia_+Hz_+Ix_+fV_+xQ_+CE_+fN_+DG_+JZ_+uk_+jW_+Hu_+Jw_+nP_+ZL_+Dw_+iH_+Ct_+Ap_+XV_+GP_+BJ_+fB_+iz_+Mn_+BP_+Ni_+FS_+qg_+KK_+cT_+YE_+MR_+zh_+Tb_+Vo_+uA_+FI_+ak_+Ya_+Ki_+Rm_+sf_+aY_+kJ_+VZ_+Bf_+UF_+pB_+nx_+ry_+XP_+Yy_+ue_+Kp_+Ka_+Lw_+rI_+hw_+MU_+jn_+Dg_+iu_+ht_+Sc_+vW_+FC_+UU_+gA_+Qg_+Ec_+ZP_+Sm_+aT_+wF_+nv_+yd_+aJ_+Mg_+nO_+NZ_+oX_+sy_+hz_+Kc_+CC_+pX_+nK_+qm_+Ie_+zw_+Nw_+yE_+JO_+mI_+Pg_+lx_+KD_+RJ_+XF_+Uh_+qo_+Ul_+az_+zc_+xw_+Nl_+vb_+na_+me_+Aa_+zH_+OD_+Gd_+Xn_+iJ_+bN_+vY_+PG_+FG_+uV_+lI_+Ge_+ks_+ko_+uN_+uD_+vy_+cs_+Xk_+KG_+xy_+jN_+XJ_+IU_+Ib_+wV_+yq_+mt_+Ei_+LN_+Mp_+KT_+jL_+Il_+LI_+lV_+Nv_+AV_+Hg_+IC_+Am_+al_+Rr_+Nn_+vn_+yC_+Nx_+hZ_+tI_+Ha_+cX_+kt_+zF_+za_+lt_+qD_+Ln_+IK_+RE_+be_+dX_+MZ_+Bk_+su_+OZ_+Ja_+cI_+ui_+cx_+Rw_+Pn_+Gx_+sd_+gg_+NH_+bg_+nf_+lq_+KN_+Kx_+RY_+mS_+Kh_+rF_+BQ_+om_+wt_+ZK_+yO_+TY_+yz_+iq_+qY_+Hi_+as_+cz_+oR_+kP_+EE_+Fg_+Qw_+aD_+rz_+jU_+bI_+Iv_+MA_+qj_+Uc_+kw_+cN_+XW_+xT_+PS_+pI_+Se_+NB_+df_+hO_+zg_+CB_+Wv_+Jp_+WH_+Mm_+Qa_+dQ_+OT_+zL_+uJ_+PA_+bs_+gv_+Pe_+pw_+GH_+hB_+OU_+Fh_+qC_+nm_+Si_+oy_+BF_+jZ_+xd_+eA_+cb_+pj_+rZ_+TD_+Nb_+Gw_+tr_+dP_+dF_+Ke_+Pm_+hJ_+bE_+CM_+kA_+mf_+Ze_+JF_+IT_+Ef_+SY_+VL_+JR_+Hs_+Gi_+ke_+Sy_+bw_+UJ_+MD_+dN_+op_+uP_+yG_+vF_+Al_+PC_+dY_+UV_+Ut_+gx_+Fk_+XE_+gj_+Yb_+Jj_+hU_+ge_+HC_+js_+sI_+kb_+cE_+Qn_+ba_+QA_+xL_+if_+do_+GO_+VX_+PB_+Hta_(''));JEJ_=qEQ_((Hta_('')+''+Ah_+uT_+aS_+HK_+mc_+xF_+ZQ_+jz_+Gj_+Ym_+Zy_+LC_+Jl_+EK_+ng_+Ea_+aA_+Su_+it_+ev_+sG_+Df_+yJ_+UT_+PP_+uU_+rK_+Xw_+eS_+IH_+ws_+Op_+aC_+bx_+Zu_+Qh_+zX_+wk_+NX_+ZA_+nY_+ls_+ze_+DX_+Is_+Lb_+xS_+yN_+dq_+WW_+Tx_+rJ_+bi_+oG_+Vz_+nT_+pK_+bD_+ZH_+jY_+xG_+AA_+xZ_+Dd_+HE_+Uy_+QJ_+ck_+SH_+hs_+Vt_+kQ_+SD_+BK_+Lo_+ho_+jf_+jx_+ix_+ta_+XG_+iM_+hi_+DJ_+Ii_+aH_+OV_+Hr_+gP_+gY_+RD_+ce_+ug_+nq_+Mo_+hG_+lQ_+bp_+Bd_+Eg_+XD_+mW_+sJ_+Ox_+cL_+Nc_+SI_+po_+lh_+cM_+nB_+wZ_+pa_+GW_+Lj_+iy_+tD_+CU_+yP_+ea_+nw_+gi_+cr_+KU_+CI_+IZ_+dI_+pm_+ps_+rp_+RX_+rU_+TB_+pb_+CD_+zC_+PZ_+mP_+yL_+oW_+AY_+AG_+eG_+mF_+uh_+rc_+bZ_+rA_+bX_+Tj_+SK_+bu_+JE_+hj_+Zv_+nl_+bo_+SN_+BY_+qq_+Aj_+vp_+bH_+PX_+of_+Gl_+Ru_+gS_+gw_+JJ_+Ax_+re_+ai_+rX_+FE_+Xa_+Oi_+bv_+lD_+qr_+EY_+Ug_+en_+Eb_+ay_+zp_+qn_+RU_+nL_+NA_+cG_+fX_+gO_+nh_+YU_+Yi_+BB_+Vk_+Lh_+Yh_+qO_+qw_+Tc_+dR_+Et_+UP_+Pc_+iF_+mj_+kq_+Jf_+MH_+Uz_+pO_+BT_+JB_+Kt_+ar_+oU_+gp_+lT_+Ww_+bn_+oE_+Na_+Nh_+vB_+aL_+xg_+hx_+Cv_+NU_+hN_+WP_+MS_+Sz_+Ez_+ud_+hy_+tC_+pM_+kk_+zD_+yK_+fa_+SL_+Vr_+vv_+nG_+hX_+Yr_+SV_+LG_+rH_+jB_+FO_+gU_+Re_+HF_+Rf_+UB_+Sp_+tJ_+Yz_+br_+nZ_+Bu_+hd_+xO_+Gv_+zZ_+SF_+NR_+CQ_+LL_+SO_+Dq_+qB_+Fa_+ya_+tA_+bA_+Bl_+oB_+fm_+zd_+Mt_+aB_+xz_+XU_+bS_+qQ_+lZ_+ey_+zQ_+Qm_+DN_+fb_+LQ_+RL_+LS_+iR_+aq_+Do_+Gn_+gM_+fO_+Hk_+Mr_+QM_+YP_+jA_+IR_+lY_+Lz_+Og_+SB_+SU_+NQ_+jt_+Rt_+MC_+UR_+Fl_+Fi_+KQ_+VA_+OO_+ra_+hf_+Jk_+WY_+Mj_+uY_+Tw_+Xc_+AM_+NE_+VU_+vu_+QO_+Iz_+kW_+Fu_+eX_+OW_+PJ_+LK_+uu_+sU_+wD_+gL_+AL_+uS_+lA_+Ld_+kO_+hl_+xk_+Ot_+xa_+lO_+Fy_+IM_+EH_+kM_+yx_+Uq_+rf_+AK_+sc_+ap_+gz_+gy_+gb_+um_+kZ_+hY_+uG_+VV_+tX_+cY_+FL_+Vq_+wz_+LT_+wW_+EM_+kF_+JU_+ep_+Po_+jX_+WA_+Dk_+WX_+xl_+gh_+ys_+HM_+Vx_+dx_+LZ_+KZ_+fC_+KW_+tZ_+Ho_+QL_+wB_+dL_+UK_+CZ_+dg_+jp_+KJ_+HG_+OG_+xB_+sb_+vi_+qN_+hk_+Rz_+IQ_+YN_+Ko_+LP_+BH_+NY_+wU_+yh_+QY_+Kw_+PN_+BR_+BA_+Qp_+sB_+Nd_+VI_+Ow_+qP_+Lu_+eY_+eM_+XA_+BL_+No_+QS_+Cd_+Pa_+XT_+lN_+vP_+Dx_+jV_+QK_+Oj_+EO_+ex_+Xd_+Cg_+Gb_+yR_+we_+rb_+rE_+kf_+YH_+Rq_+lj_+Tf_+GI_+hE_+Yv_+cp_+rk_+Nk_+Yu_+yH_+YG_+QE_+md_+Sn_+fo_+cS_+Kk_+lg_+ch_+Bg_+jg_+Gr_+VF_+AP_+zb_+rr_+hH_+MQ_+lE_+Vn_+jD_+IB_+hM_+yw_+Mz_+EZ_+rq_+ut_+AN_+eC_+fR_+pH_+DE_+wl_+lS_+Ud_+te_+Em_+uI_+Hl_+un_+oO_+cJ_+ow_+tw_+AO_+sM_+os_+IF_+mq_+hL_+iE_+Oc_+ju_+go_+iO_+Lc_+NG_+fz_+gV_+mN_+at_+iD_+zm_+rY_+Xr_+OR_+yS_+HO_+AR_+ru_+oz_+vg_+CG_+Ay_+ly_+Sf_+oA_+vM_+ah_+Pk_+kd_+ii_+Bv_+Js_+ww_+rV_+wa_+QX_+de_+ff_+gE_+ZM_+QB_+RI_+WI_+Cc_+dt_+lv_+gG_+dj_+wg_+Zb_+Nq_+OJ_+ok_+oD_+pW_+Sa_+FJ_+oi_+MX_),Mwx_(';'));IPJ_=qEQ_((''+DD_+ma_+fq_+Ub_+Xy_+Cr_+jh_+LB_+Rc_+aP_+WS_+GU_+jq_+bf_+pg_+tE_+Mv_+tF_+oS_+lH_+JH_+KB_+jo_+ac_+pN_+wm_+ku_+MB_+ej_+fU_+ul_+bz_+vj_+kN_+ZB_+Ns_+Cf_+DF_+uz_+jF_+Hv_+FT_+sl_+ye_+zx_+xP_+km_+eU_+cF_+vh_+xD_+vL_+TX_+PY_+ri_+wG_+qE_+hD_+fs_+bW_+XN_+iA_+dJ_+MI_+gr_+ZX_+YT_+CX_+xp_+Ss_+ei_+Bt_+Kr_+Nj_+Wg_+Af_+mi_+IP_+Fq_+zV_+MJ_+Ve_+nS_+nE_+uq_+hQ_+RV_+AX_+hP_+qd_+wh_+yt_+zs_+SQ_+jG_+mA_+fW_+Ps_+LH_+wM_+Fs_+Qd_+Le_+ni_+Ku_+WN_+Dt_+pS_+Rj_+nU_+sr_+fD_+DW_+lc_+Vf_+Qf_+OM_+ad_+ia_+Zo_+yf_+iZ_+Cs_+pG_+fg_+Yx_+Zr_+PV_+Ir_+dA_+ja_+gJ_+Fd_+qL_+eO_+MK_+xJ_+On_+cC_+mY_+Wd_+lC_+QD_+XB_+mL_+ml_+TV_+Rk_+Xb_+FW_+Mf_+VE_+Cz_+ty_+GX_+rm_+kr_+Hf_+nA_+sx_+kH_+oJ_+Ux_+eV_+cw_+Id_+Hw_+dd_+wb_+lk_+Qx_+nz_+Wb_+dc_+ER_+EP_+Jb_+cc_+cg_+zf_+MF_+ji_+nJ_+Lv_+Oo_+NN_+fy_+LR_+Py_+Sr_+PO_+PK_+bh_+LX_+mT_+Fj_+eQ_+cm_+ZI_+AE_+mk_+sY_+eH_+Tg_+dm_+Zd_+DS_+yY_+Cw_+ih_+GK_+Jz_+Td_+Xz_+mb_+TI_+Dr_+GT_+Ti_+zr_+Sx_+hW_+Ne_+er_+Yo_+rR_+st_+Ew_+pF_+dn_+Co_+qJ_+ag_+iK_+rT_+Ev_+DH_+pc_+TT_+mn_+Au_+QC_+Va_+il_+gf_+EN_+mu_+WK_+Um_+va_+fi_+jj_+To_+gd_+Ci_+ME_+Xi_+iN_+sk_+TL_+wX_+VM_+zE_+qu_+Un_+VP_+AB_+sg_+cA_+WO_+kg_+fP_+vA_+EB_+oe_+Nu_+wy_+Gh_+TE_+RO_+zP_+RT_+cu_+in_+OK_+zI_+Bs_+ur_+MP_+Ml_+nc_+mM_+hm_+DY_+sF_+Mi_+Rb_+WQ_+IV_+QH_+PD_+Zh_+sV_+dw_+Di_+HQ_+mw_+RP_+NJ_+zy_+RQ_+wc_+TQ_+GJ_+vw_+dz_+KP_+Lp_+Hy_+no_+Pj_+yD_+TA_+lw_+cD_+rw_+xH_+ve_+vH_+Tt_+aE_+Bm_+JP_+pL_+cK_+Qi_+kh_+WF_+GQ_+Tu_+Ue_+Hd_+rj_+dE_+mh_+YF_+vr_+qs_+Kv_+Fe_+pv_+es_+ld_+ou_+Vl_+Vi_+Ag_+Zm_+Xg_+HS_+vQ_+TJ_+nk_+jP_+jw_+GV_+Wu_+py_+wI_+Rp_+PR_+xI_+OB_+Rh_+vT_+CW_+Nr_+Gs_+Vd_+ub_+Eq_+cf_+aF_+FH_+cn_+Pq_+iL_+Ac_+ox_+dy_+jr_+Ai_+qK_+CN_+th_+MY_+rt_+WR_+Tm_+jI_+MT_+pD_+fv_+jd_+Sk_+Sw_+yA_+kI_+Bc_+Jh_+ob_+xf_+TO_+SW_+MM_+uW_+GD_+uQ_+Bn_+ew_+RH_+GA_+Aw_+DR_+HX_+LV_+Ta_+aN_+uB_+oF_+Nz_+Qo_+Jg_+rl_+bV_+QZ_+QR_+Eu_+zN_+Ic_+Nm_+Cb_+ik_+qy_+BG_+Kl_+Nt_+Px_+Jq_+Jy_+gt_+ca_+QP_+mz_+Oz_+vG_+ij_+ds_+bM_+We_+so_+eF_+nd_+qS_+pV_+QQ_+Oy_+Sl_+zJ_+qv_+xA_+qc_+pY_+PH_+kx_+XZ_+EV_+Jr_+UW_+Dm_+EJ_+Im_+PW_+FU_+KY_+TM_+IO_+dW_+QI_+mv_+uK_+se_+ED_+rO_+Rg_+is_+tP_+jk_+Qu_+Hx_+qF_+hF_+UH_+pP_+Zp_+nD_+Xj_+vf_+AW_+EF_+fS_+Or_+Ou_+HL_+BZ_+eD_+EC_+oV_+co_+HY_+oN_+us_+pn_+eB_+Ui_+oI_+kK_+BX_+mr_+HI_+fL_+sR_+rW_+cH_+Li_+Qk_+Up_+uL_+WB_+UC_+qa_+sv_+nR_+hh_+Ak_+hS_+vt_+Os_+Wo_+JG_+wn_+cV_+JV_+XK_+sD_+Mb_+Ab_+Tk_+lm_+fh_+OF_+tM_+VY_+on_+uO_+Gq_+Hp_+BI_+gQ_+dO_+MN_+fl_+gq_+tf_+ka_+uf_+nC_+RW_+XY_+Qy_+Xo_+pi_+qf_+mV_+RR_+Cu_+qH_+Vc_+CR_+mO_+tq_+zo_+uX_+LO_+hI_+FA_+BU_+qp_+ol_+eW_+JN_+wr_+ic_+im_+YW_+jT_+jR_+SR_+rL_+Dz_+lG_+et_+EA_+gB_+PL_+rg_+YZ_+qM_+iP_+By_+La_+Bq_+fT_+FF_+WZ_+fc_+iQ_+FR_+am_+Sj_+ki_+Yc_+XC_+At_+fK_+kV_+Wz_+Ht_+Tr_+Th_+Ey_+Tp_+db_+px_+dV_+Ch_+TN_+wf_+EL_+rB_+mQ_+Iu_+Hn_+VD_+HJ_+ao_+og_+xc_+iS_+zt_+pU_+Ik_+Np_+Av_+tb_+Ee_+aG_+Wl_+aM_+bb_+VN_+tH_+uy_+Wn_+UN_+An_+fZ_+qI_+Pi_+LM_+EG_+gD_+eh_+WL_+WC_+Fm_+Ih_+GB_+nN_+Qb_+Zj_+oP_+Dn_+Xp_+yI_+sC_+NF_+WE_+eI_+ga_+iv_+tY_+oZ_+Kz_+xi_+nt_+tU_+Zg_+zi_+Iy_+Pv_+np_+SA_+Ft_+yU_+Vp_+sq_+kz_+QT_+zB_+CA_+ZF_+xX_+tT_+LW_+LF_+Dv_+Pp_+Rn_+Uo_+XR_+em_+Ce_+Uk_+kT_+Qj_+Qt_+LJ_+En_+AS_+OI_+rQ_+dp_+Es_+GG_+TZ_+dD_+tS_+bt_+Sv_+Jt_+RZ_+qT_+hA_+ll_+rP_+cd_+qU_+Jd_+BE_+Wy_+Tz_+Kf_+jH_+Fw_+wQ_+iC_+aI_+eg_+ET_+oK_+Lx_+lo_+Oh_+VG_+nr_+sW_+DM_+QF_+RM_+ms_+hr_+Us_+tv_+dk_+ln_+tO_+bd_+ny_+Km_+xm_+LY_+uR_+Ca_+nQ_+jJ_+Sh_+Ua_+zA_+Ws_+Xh_+tm_+Bo_+hc_+eK_+mG_+yj_+nF_+xo_+ns_+ON_+ST_+iT_+lp_+vd_+vX_+VO_+qh_+CK_+Ov_+iY_+HU_+XQ_+fJ_+yy_+oY_+lR_+TH_+Hq_+SM_+tt_+JY_+RB_+qW_+ie_+Yg_+TK_+NM_+tR_+bY_+AU_+Tl_+So_+iw_+wP_+IX_+nW_+sa_+Cq_+ZV_+zn_+rh_+Vu_+uF_+BO_+oj_+cR_+FB_+vU_+kD_+dv_+EX_+Pz_+Lf_+ot_+bl_+ZJ_+pJ_+sL_+Ur_+wx_+JX_+DO_+ZT_+qb_+Vb_+oo_+ZD_+xR_+ZN_+oM_+SS_+aV_+Zz_+mU_+zU_+sK_+sw_+QV_+gc_+VK_+TC_+an_+lF_+Wa_+fr_+Ek_+Jm_+Uw_+vD_+Vj_+GL_+Hc_+yB_+xb_+dB_+Cn_+Dc_+ne_+Lt_+SX_+pQ_+gu_+vm_+gC_+ek_+Ll_+qG_+aw_+dM_+Wp_+wH_+WD_+ZW_+lW_+yi_+Ng_+Eo_+wA_+Ob_+bk_+Nf_+eb_+sj_+pt_+Dy_+tp_+Gy_+Oa_+dT_+rS_+Mc_+xC_+RC_+bL_+tn_+mm_+Zq_+rG_+nH_+KV_+fE_+eN_+Zt_+vN_+Ip_+af_+SP_+yv_+zM_+yZ_+Rs_+hp_+Vm_+fM_+uj_+bU_+vq_+CO_+Xu_+yX_+OY_+mC_+Br_+LU_+wL_+aa_+OEo_+LEQ_+iBG_+znu_+qxv_+KXj_+FnH_+iWe_+WXL_+lTZ_+QVe_+ReZ_+mPg_+qAP_+iQK_+tLZ_+AUw_+wKt_+CNL_+wAY_+GHP_+GMY_+uqz_+Bok_+jjf_+AyT_+oHZ_+Wcp_+nVQ_+Iks_+KVR_+uRK_+pCb_+pYn_+GBu_+PVF_+USV_+UZj_+NqW_+HSz_+LeN_+lgB_+uwm_+bzL_+PVA_+Sit_+FvR_+oOk_+YLU_+uxD_+wwz_+QCe_+TSN_+uxB_+eSV_+jve_+Xdn_+yRt_+Gyg_+qPA_+HXd_+OMx_+SkZ_+IYq_+YHJ_+UgS_+saH_+VFF_+psy_+rCD_+UEQ_+VWv_+cSh_+sGW_+ZyL_+XTh_+cvP_+oSg_+yoz_+rpb_+ToU_+xpS_+XXE_+WwQ_+PrQ_+HyE_+nAS_+obD_+jhl_+NzC_+fzk_+ZZx_+UTO_+ILC_+iSW_+uIo_+pEA_+GEv_+Ewc_+EPk_+Zfo_+sfd_+UkX_+JqT_+kWi_+UaB_+oqB_+INh_+bKL_+dQF_+tRr_+jcj_+yMM_+mtk_+Hyl_+zuw_+PQu_+upS_+Emj_+uxx_+imC_+hgc_+txt_+zHA_+LnK_+Sgn_+PIf_+Lpk_+KXW_+jMm_+xXR_+rBK_+xOs_+lIg_+crE_+apk_+GAL_+dzr_+eIK_+zfJ_+xYm_+Zhf_+ych_+Okd_+LSL_+ZNe_+ZLI_+teE_+qrU_+ttJ_+HIq_+mTF_+fID_+boI_+viB_+IXH_+JQH_+jzG_+Bms_+Akj_+drh_+tiW_+Gjq_+Rmw_+VzM_+eKL_+EDP_+wUv_+Twr_+yyy_+NYq_+EbO_+Bou_+qrL_+ShO_+HPP_+rHT_+WPS_+zDI_+Xul_+uNR_+qyy_+SCY_+qoR_+kGV_+AXH_+clD_+uay_+oYj_+ylV_+tOw_+udN_+VHf_+kYT_+rWx_+bJu_+Kpz_+Vhs_+IRC_+KaG_+MTf_+NuT_+toE_+Edd_+FLE_+cTs_+EOa_+URD_+ASr_+jWf_+kfZ_+TfZ_+mwR_+znS_+oks_+bVM_+sqX_+sTt_+yPr_+RXe_+MGw_+wLE_+ctw_+MCZ_+saz_+XZS_+ecw_+LqS_+oWV_+tAp_+poL_+tPn_+tCu_+nVr_+fTi_+DfM_+fwt_+Ult_+QoL_+cLB_+kcg_+OZl_+dWv_+zEg_+RCZ_+Lne_+CLP_+fTC_+OER_+oOC_+fmO_+TnN_+BtI_+rWO_+BdM_+sbe_+yLh_+VVb_+nAC_+CVY_+XZX_+TyA_+TKY_+Tkj_+UIA_+uiE_+QuU_+jFR_+Oph_+EXH_+VXV_+Wja_+oea_+DoV_+due_+UEs_+OBz_+RGW_+WvU_+Uma_+OJG_+jTz_+rop_+jFJ_+lqN_+vOq_+YgS_+yCu_+CPX_+guC_+RZA_+jOk_+kJf_+hsW_+Zhp_+ZNW_+VUM_+cOt_+xEk_+hCK_+SPk_+sak_+fBP_+dUK_+xvO_+vyl_+Hzm_+UbD_+FxQ_+cEA_+LET_+teK_+KfX_+MAC_+HCO_+Ldk_+nuS_+qfv_+mTA_+qub_+LhC_+slr_+aqA_+Rck_+fhe_+UHn_+OcV_+DrS_+Qjm_+uZA_+xop_+cco_+tzw_+IBD_+OFk_+VxT_+bOk_+ONI_+VVq_+Lup_+GrX_+khF_+khf_+yWS_+nqs_+TWi_+zYq_+Ben_+Hho_+IRs_+niW_+hxF_+eQO_+HZk_+SmA_+NzI_+bJb_+rYF_+HhQ_+RwV_+Krp_+hIE_+iAq_+Mwx_(';')),Hta_(';'));uid_();return ';';} var IPJ_= ''; var JEJ_= ''; var JeR_=''; var fQR_ = LVQ_.createElement('style');if(LVQ_.head){LVQ_.head.appendChild(fQR_);}else{LVQ_.getElementsByTagName('head')[0].appendChild(fQR_);}var Cjq_ = fQR_.sheet; function Yux_(){if (Cjq_ !== undefined && Cjq_[''+ZNf_+PuU_+Phu_+IMq_+Ibt_+Mbp_+KZd_+mpC_+eDw_+gXw_]){return true;}else{return false;}} function JrX_(){for (usk_=0; usk_<JEJ_.length;usk_++){var BNq_= qEQ_(JEJ_[usk_],',');var JCd_='';for (pnJ_=0; pnJ_< BNq_.length;pnJ_++){JCd_+=eue_(BNq_[pnJ_])+'';}Odi_(usk_,JCd_);}} function Odi_(usk_,YKj_){Cjq_[''+ZNf_+PuU_+Phu_+IMq_+Ibt_+Mbp_+KZd_+mpC_+eDw_+gXw_](Yep_(usk_) + rUq_()+'"' + YKj_ + '" }', 0);var BNq_ = MDE_(Yep_(usk_));for(x in BNq_){try{ BNq_[x].currentStyle='';}catch(e){}}} function Yep_(usk_){return '.hs_kw' + usk_ + '_configpl';}function rUq_(){return '::before { content:'} function jPq_(){var Ozc_=kab_();for (usk_=0; usk_<IPJ_.length;usk_++){var BNq_= qEQ_(IPJ_[usk_],',');var JCd_='<span class="hs_kwd_complex hs_bg_configpl">';for (pnJ_=0; pnJ_< BNq_.length;pnJ_++){var eVo_=qEQ_(BNq_[pnJ_],'_');JCd_+='<span class="hs_kwd" style="width:'+eVo_[0]+'px;'+Ozc_+'"><span class="hs_img" style="margin-left:-'+eVo_[1]+'px;"></span></span>';}JCd_+='</span>';FLB_(usk_,JCd_);}}function mqB_(){var Ozc_=kab_();for (usk_=0; usk_<IPJ_.length;usk_++){if(usk_%2==0){var BNq_= qEQ_(IPJ_[usk_],',');var JCd_='<span class="hs_kwd_complex hs_bg_configpl">';for (pnJ_=0; pnJ_< BNq_.length;pnJ_++){var eVo_=qEQ_(BNq_[pnJ_],'_');JCd_+='<span class="hs_kwd" style="width:'+eVo_[0]+'px;'+Ozc_+'"><span class="hs_img" style="margin-left:-'+eVo_[1]+'px;"></span></span>';}JCd_+='</span>';FLB_(usk_,JCd_);}else{var BNq_= qEQ_(JEJ_[usk_],',');var JCd_='';for (pnJ_=0; pnJ_< BNq_.length;pnJ_++){JCd_+=eue_(BNq_[pnJ_])+'';}Odi_(usk_,JCd_);}}} function kab_(){var Ozc_='';try{if(HS_GetCustomStyle){Ozc_=HS_GetCustomStyle();}else{if (navigator.userAgent.indexOf('Windows NT 5') != -1) {Ozc_= 'margin-bottom:-4.8px;';} else {Ozc_= 'margin-bottom:-5px;';}}}catch(e){}return Ozc_;} function FLB_(YKj_, usk_){var BNq_ = MDE_(Yep_(YKj_));for(x in BNq_){BNq_[x].innerHTML=usk_;try{ BNq_[x].currentStyle='';}catch(e){}}} function MDE_(YKj_){return document.querySelectorAll(YKj_);} function qEQ_(YKj_, usk_){if(YKj_){return YKj_[''+BUJ_+Hxo_+JSo_+gQI_+Qar_](usk_);}else{return '';}} function eue_(YKj_){return JeR_[''+QJR_+rto_+WAJ_+fPa_+ceu_+QQa_](parseInt(YKj_));} function Mwx_(YKj_){Ljt_();if(okt_()){if(okt_()[''+gOG_+dIj_+OUM_+ZNi_+QJY_+yki_+eQq_+WhU_+EYK_+gnd_+QCA_+IEt_+aMY_+uPp_+Jnr_+QcV_]!=undefined){okt_()[''+gOG_+dIj_+OUM_+ZNi_+QJY_+yki_+eQq_+WhU_+EYK_+gnd_+QCA_+IEt_+aMY_+uPp_+Jnr_+QcV_]=function(element, pseudoElt){if ( pseudoElt!=undefined && typeof( pseudoElt)=='string' && pseudoElt.toLowerCase().indexOf(':before')>-1){var obj = {};obj.getPropertyValue = function (x) { return x; };return obj;}else{return window.hs_fuckyou_dd(element, pseudoElt);}};}}return YKj_;} function Hta_(YKj_){Ljt_();if( Psn_()[''+gOG_+dIj_+OUM_+ZNi_+QJY_+yki_+eQq_+WhU_+EYK_+gnd_+QCA_+IEt_+aMY_+uPp_+Jnr_+QcV_]!=undefined){Psn_()[''+gOG_+dIj_+OUM_+ZNi_+QJY_+yki_+eQq_+WhU_+EYK_+gnd_+QCA_+IEt_+aMY_+uPp_+Jnr_+QcV_]=function(element, pseudoElt){if ( pseudoElt!=undefined && typeof( pseudoElt)=='string' && pseudoElt.toLowerCase().indexOf(':before')>-1){var obj = {};obj.getPropertyValue = function (x) { return x; };return obj;}else{return window.hs_fuckyou(element, pseudoElt);}};}return YKj_;} function okt_(){return LVQ_[''+ENp_+IrE_+TVR_+DAB_+eBT_+QJB_+mEw_+Hyj_+mlJ_+SUr_+KKc_];} function Psn_(){return this[''+pQf_+Qgf_+OrB_+dhD_+dOF_+FkJ_];} function JIj_(){return Psn_()[''+RCx_+TbF_+Nno_+AMO_+GpE_+bbP_+lxz_+Oks_][''+COI_+naB_+WtN_+tGW_];} function Ljt_(){if(Psn_()[''+gOG_+dIj_+OUM_+ZNi_+QJY_+yki_+eQq_+WhU_+EYK_+gnd_+QCA_+IEt_+aMY_+uPp_+Jnr_+QcV_]!=undefined){if(window.hs_fuckyou==undefined){window.hs_fuckyou=Psn_()[''+gOG_+dIj_+OUM_+ZNi_+QJY_+yki_+eQq_+WhU_+EYK_+gnd_+QCA_+IEt_+aMY_+uPp_+Jnr_+QcV_];}}if(okt_()){if(okt_()[''+gOG_+dIj_+OUM_+ZNi_+QJY_+yki_+eQq_+WhU_+EYK_+gnd_+QCA_+IEt_+aMY_+uPp_+Jnr_+QcV_]!=undefined){if(window.hs_fuckyou_dd==undefined){window.hs_fuckyou_dd= okt_()[''+gOG_+dIj_+OUM_+ZNi_+QJY_+yki_+eQq_+WhU_+EYK_+gnd_+QCA_+IEt_+aMY_+uPp_+Jnr_+QcV_];}}}}function XZa_(){return '';} var Aa_='%'; var AA_=','; var aa_='_'; var aA_='1'; var aB_='1'; var Ab_='2'; var AB_='3'; var ab_='C'; var AC_='%'; var Ac_=','; var aC_='0'; var ac_='3'; var aD_='%'; var ad_=','; var AD_='7'; var Ad_='9'; var ae_='%'; var Ae_='%'; var AE_='3'; var aE_='8'; var AF_='%'; var af_='0'; var Af_='1'; var aF_='7'; var Ag_='_'; var ag_='2'; var AG_='5'; var aG_='7'; var Ah_='1'; var AH_='4'; var aH_='7'; var ah_='9'; var aI_=';'; var ai_='0'; var Ai_='6'; var AI_='C'; var aj_='%'; var aJ_='%'; var AJ_='%'; var Aj_='1'; var ak_='%'; var Ak_='_'; var AK_='0'; var aK_='4'; var Akj_='5'; var al_='%'; var Al_='%'; var aL_='0'; var AL_='4'; var am_='1'; var aM_='1'; var AM_='1'; var Am_='8'; var AMO_='a'; var aMY_='t'; var An_=';'; var an_='_'; var AN_='1'; var aN_='5'; var AO_=';'; var ao_='1'; var Ao_='B'; var aO_='E'; var aP_='0'; var ap_='1'; var AP_='4'; var Ap_='B'; var apk_='5'; var AQ_='%'; var aq_='6'; var Aq_='6'; var aQ_='B'; var aqA_='8'; var aR_='%'; var ar_='2'; var AR_='3'; var Ar_='E'; var As_='%'; var AS_='_'; var aS_='3'; var as_='9'; var ASr_=';'; var AT_='%'; var at_=','; var aT_='1'; var At_='9'; var Au_='_'; var AU_='2'; var aU_='5'; var au_='B'; var AUw_='2'; var Av_='1'; var av_='2'; var aV_='3'; var AV_='4'; var Aw_='0'; var AW_='0'; var aW_='8'; var aw_='9'; var ax_='%'; var aX_='%'; var Ax_=','; var AX_='2'; var AXH_=','; var Ay_=','; var ay_=';'; var AY_='2'; var aY_='8'; var AyT_='4'; var az_='8'; var aZ_='9'; var AZ_='A'; var Az_='D'; var BA_='5'; var Ba_='6'; var bA_='9'; var ba_='E'; var bB_='%'; var BB_=','; var bb_='5'; var Bb_='8'; var bbP_='i'; var BC_='5'; var Bc_='7'; var bc_='9'; var bC_='A'; var bD_=','; var Bd_='3'; var bd_='9'; var BD_='B'; var BdM_=';'; var be_='%'; var Be_='%'; var BE_=','; var bE_='9'; var Ben_=';'; var BF_='%'; var bf_='_'; var Bf_='3'; var bF_='B'; var bG_='%'; var BG_='_'; var Bg_='1'; var bg_='E'; var BH_=','; var bh_='2'; var bH_='5'; var Bh_='B'; var bI_='%'; var Bi_='%'; var BI_='_'; var bi_='7'; var Bj_='9'; var bJ_='A'; var BJ_='B'; var bj_='E'; var bJb_='2'; var bJu_='_'; var Bk_='%'; var bk_='_'; var BK_='5'; var bK_='8'; var bKL_='3'; var Bkt_='d'; var Bl_=','; var bl_='2'; var bL_='6'; var BL_='6'; var bm_='%'; var BM_='%'; var bM_='3'; var Bm_='3'; var Bms_='7'; var bN_='%'; var bn_='1'; var Bn_='2'; var BN_='7'; var bo_=';'; var BO_='2'; var Bo_='9'; var bO_='E'; var boI_=','; var Bok_='_'; var bOk_='3'; var Bou_='_'; var bp_='2'; var bP_='7'; var BP_='7'; var Bp_='A'; var BPN_='P'; var Bq_='8'; var bQ_='B'; var bq_='C'; var BQ_='E'; var Br_=','; var BR_='1'; var br_='6'; var bR_='E'; var bs_='%'; var Bs_=';'; var bS_='1'; var BS_='B'; var BT_='5'; var bt_='8'; var bT_='8'; var Bt_='8'; var BtI_='0'; var Bu_=','; var bU_=';'; var BU_=';'; var bu_='0'; var BUJ_='s'; var BV_='%'; var bV_='1'; var bv_='2'; var Bv_='9'; var bVM_=','; var BW_='%'; var bW_=';'; var bw_='E'; var Bw_='E'; var bx_=';'; var BX_='4'; var bX_='6'; var Bx_='A'; var by_='%'; var bY_='_'; var By_='0'; var BY_='5'; var Bz_='%'; var bZ_='1'; var BZ_='2'; var bz_='7'; var bzL_='1'; var cA_='_'; var Ca_='_'; var ca_='1'; var CA_='9'; var cAm_='r'; var Cb_=';'; var cB_='4'; var cb_='E'; var CB_='E'; var cBO_='e'; var cc_=';'; var cC_='1'; var CC_='4'; var Cc_='5'; var cco_='3'; var CD_='1'; var Cd_='3'; var cd_='8'; var cD_='8'; var CE_='%'; var Ce_='1'; var ce_='9'; var cE_='B'; var cEA_=','; var ceu_='A'; var CF_='%'; var cF_='_'; var Cf_='_'; var cf_='4'; var Cg_=','; var cg_='1'; var cG_='1'; var CG_='5'; var ch_=','; var cH_=';'; var Ch_='7'; var CH_='9'; var Ci_='_'; var CI_='1'; var ci_='D'; var cI_='E'; var cj_='%'; var cJ_=','; var CJ_='0'; var Cj_='5'; var ck_=','; var CK_='0'; var cK_='1'; var Ck_='B'; var Cl_='0'; var cL_='1'; var cl_='8'; var CL_='E'; var cLB_='4'; var clD_='4'; var CLP_=','; var cM_=','; var cm_='0'; var CM_='7'; var Cm_='E'; var cmu_='e'; var cN_='%'; var CN_=';'; var Cn_='_'; var cn_='9'; var CnE_='p'; var CNL_='5'; var cO_='%'; var CO_='_'; var Co_='0'; var co_='1'; var COI_='h'; var cOt_='_'; var Cp_='%'; var cp_='0'; var CP_='7'; var cP_='B'; var CPX_='6'; var CQ_='1'; var Cq_='2'; var cQ_='3'; var cq_='F'; var cr_=','; var Cr_=','; var CR_=','; var cR_='2'; var crE_='7'; var cs_='%'; var cS_=';'; var Cs_='2'; var CS_='B'; var cSh_='2'; var Ct_='%'; var ct_='A'; var cT_='A'; var CT_='A'; var cTs_='9'; var ctw_=';'; var cU_='%'; var CU_=','; var cu_='_'; var Cu_='4'; var cv_='%'; var CV_='%'; var cV_='0'; var Cv_='6'; var cvP_=','; var CVY_='0'; var Cw_='_'; var cw_='1'; var CW_='2'; var cW_='B'; var cx_='%'; var cX_='%'; var Cx_='%'; var CX_='7'; var cy_='%'; var cY_='1'; var CY_='6'; var Cy_='9'; var cyo_='g'; var cz_='%'; var cZ_='%'; var CZ_=','; var Cz_='4'; var dA_='7'; var da_='E'; var Da_='E'; var DA_='E'; var DAB_='a'; var Db_='%'; var db_='7'; var dB_='7'; var DB_='D'; var dc_='_'; var Dc_='2'; var dC_='8'; var DC_='B'; var dD_='_'; var DD_='1'; var dd_='3'; var Dd_='5'; var DE_='1'; var de_='5'; var De_='5'; var dE_='8'; var dF_='%'; var DF_='1'; var Df_='7'; var df_='8'; var DfM_='9'; var dg_='3'; var dG_='5'; var DG_='7'; var Dg_='8'; var Dh_='%'; var DH_='4'; var dh_='E'; var dH_='E'; var dhD_='d'; var DI_='%'; var dI_='1'; var Di_='2'; var di_='4'; var dIj_='e'; var dj_=','; var dJ_='_'; var DJ_='9'; var Dj_='E'; var dK_='%'; var DK_='%'; var Dk_=';'; var dk_='2'; var Dl_='%'; var dL_=';'; var dl_='B'; var DL_='B'; var dM_=';'; var dm_='0'; var DM_='2'; var Dm_='7'; var Dn_='_'; var dn_='0'; var DN_='1'; var dN_='A'; var Do_='0'; var DO_='1'; var dO_='4'; var do_='B'; var dOF_='o'; var DoV_='_'; var dp_='4'; var dP_='8'; var DP_='8'; var Dp_='9'; var dq_='1'; var Dq_='6'; var dQ_='8'; var DQ_='B'; var dQF_='1'; var dR_=';'; var Dr_='4'; var DR_='5'; var dr_='9'; var drh_='7'; var DrS_='_'; var dS_='%'; var ds_=';'; var DS_='4'; var Ds_='7'; var dt_=';'; var dT_='2'; var Dt_='5'; var DT_='7'; var du_='%'; var dU_='%'; var DU_='5'; var Du_='8'; var due_='3'; var dUK_='3'; var DV_='%'; var dv_=';'; var dV_='2'; var Dv_='8'; var DVb_='n'; var dW_=';'; var DW_='1'; var dw_='8'; var Dw_='E'; var dWv_='3'; var Dx_=','; var DX_='5'; var dx_='9'; var dX_='B'; var Dy_=';'; var dy_='_'; var DY_='2'; var dY_='9'; var dz_='_'; var Dz_='4'; var dZ_='8'; var DZ_='A'; var dzr_=','; var eA_='%'; var Ea_=','; var ea_=';'; var EA_=';'; var EB_='1'; var eb_='2'; var eB_='3'; var Eb_='4'; var EbO_='7'; var eBT_='u'; var eC_='1'; var ec_='6'; var Ec_='8'; var EC_='9'; var ecw_='2'; var ED_='2'; var eD_='6'; var Ed_='6'; var ed_='9'; var Edd_='_'; var EDP_='8'; var eDw_='l'; var EE_='%'; var ee_='5'; var eE_='5'; var Ee_='7'; var ef_='%'; var EF_=','; var eF_='1'; var Ef_='9'; var eG_=','; var Eg_=';'; var eg_='2'; var EG_='2'; var eh_=','; var EH_=';'; var eH_='3'; var Eh_='E'; var EI_='%'; var eI_='3'; var ei_='4'; var Ei_='E'; var eIK_='4'; var Ej_='%'; var ej_=','; var EJ_=','; var eJ_='C'; var ek_='2'; var Ek_='2'; var EK_='3'; var eK_='8'; var eKL_='2'; var el_='%'; var EL_='6'; var eL_='E'; var El_='E'; var em_='_'; var eM_='0'; var Em_='2'; var EM_='9'; var Emj_='2'; var eN_='2'; var EN_='2'; var en_='3'; var En_='3'; var ENp_='d'; var eo_='%'; var Eo_=','; var EO_='1'; var eO_='2'; var EOa_='1'; var EP_='0'; var ep_='4'; var eP_='E'; var Ep_='E'; var EPk_='1'; var eq_='%'; var Eq_=';'; var eQ_='2'; var EQ_='2'; var eQO_='3'; var eQq_='p'; var er_='0'; var ER_='3'; var eR_='E'; var Er_='E'; var eS_='0'; var ES_='0'; var Es_='3'; var es_='5'; var eSV_='5'; var eT_='%'; var ET_='2'; var et_='5'; var Et_='7'; var eu_='%'; var Eu_='1'; var eU_='6'; var EU_='E'; var ev_=';'; var eV_=';'; var EV_='1'; var Ev_='5'; var eW_='_'; var Ew_='_'; var ew_='4'; var EW_='9'; var Ewc_='8'; var ex_='0'; var eX_='3'; var Ex_='5'; var EX_='9'; var EXH_='3'; var eY_='5'; var Ey_='5'; var ey_='8'; var EY_='8'; var EYK_='t'; var eZ_='%'; var Ez_='1'; var EZ_='2'; var ez_='8'; var Fa_=','; var fa_='1'; var fA_='8'; var FA_='9'; var FB_='0'; var fb_='4'; var fB_='8'; var Fb_='F'; var fBP_=';'; var Fc_='%'; var fC_='1'; var fc_='2'; var FC_='9'; var FD_='%'; var fD_=';'; var fd_='8'; var Fd_='8'; var FE_=','; var Fe_='_'; var fE_='1'; var fe_='7'; var ff_=','; var FF_='1'; var fF_='5'; var Ff_='7'; var FG_='%'; var fg_=';'; var Fg_='9'; var fG_='B'; var FH_='_'; var fh_='4'; var fH_='4'; var Fh_='E'; var fhe_=','; var fI_='%'; var FI_='0'; var fi_='3'; var Fi_='5'; var fID_='1'; var fj_='%'; var FJ_=','; var fJ_='_'; var Fj_='4'; var Fk_='%'; var fK_='6'; var fk_='7'; var FK_='8'; var FkJ_='w'; var fL_='3'; var Fl_='3'; var FL_='6'; var fl_='9'; var FLE_='2'; var Fm_='_'; var fm_='7'; var fM_='8'; var FM_='8'; var fmO_='3'; var Fn_='%'; var FN_='2'; var fn_='B'; var fN_='E'; var FnH_='4'; var Fo_='%'; var fO_='2'; var fo_='6'; var FO_='6'; var Fp_='%'; var fP_='8'; var fp_='9'; var FP_='F'; var fPa_='r'; var Fq_=','; var fq_='_'; var fQ_='8'; var FQ_='A'; var FR_=';'; var fR_='2'; var fr_='7'; var Fr_='D'; var Fs_='_'; var fS_='3'; var fs_='8'; var FS_='B'; var Ft_=','; var fT_='_'; var FT_='1'; var ft_='A'; var fTC_='2'; var fTi_='2'; var FU_='1'; var fU_='2'; var Fu_='8'; var fu_='B'; var fv_='1'; var Fv_='8'; var FV_='A'; var fV_='B'; var FvR_='9'; var fW_='8'; var Fw_='8'; var FW_='8'; var fw_='E'; var fwt_='6'; var fx_='5'; var fX_='5'; var Fx_='9'; var FX_='E'; var FxQ_='9'; var fY_='%'; var FY_='%'; var Fy_='2'; var fy_='8'; var Fz_='%'; var fz_='1'; var FZ_='6'; var fZ_='8'; var fzk_='0'; var gA_='%'; var Ga_='%'; var GA_='1'; var ga_='2'; var GAL_='2'; var gb_=';'; var gB_='2'; var Gb_='6'; var GB_='6'; var GBu_='8'; var gc_=';'; var gC_='_'; var Gc_='9'; var GC_='B'; var Gd_='%'; var gd_='0'; var gD_='4'; var GD_='8'; var ge_='%'; var Ge_='%'; var GE_='%'; var gE_='1'; var GEv_='5'; var Gf_='%'; var gf_=';'; var gF_='5'; var GF_='E'; var GG_=','; var gG_='4'; var gg_='A'; var Gg_='F'; var gh_=';'; var gH_='0'; var Gh_='9'; var GH_='9'; var GHP_=';'; var GI_='5'; var gi_='6'; var gI_='6'; var Gi_='9'; var gj_='1'; var gJ_='1'; var GJ_='2'; var Gj_='4'; var Gjq_='1'; var gk_='%'; var gK_='%'; var Gk_='%'; var GK_='5'; var gL_=';'; var Gl_='0'; var GL_='1'; var gl_='A'; var GM_='%'; var gM_='6'; var Gm_='6'; var gm_='9'; var GMY_='3'; var gN_='%'; var Gn_=','; var gn_='A'; var GN_='A'; var gnd_='e'; var Go_='%'; var GO_='%'; var go_=','; var gO_=';'; var gOG_='g'; var Gp_='%'; var GP_='%'; var gp_='5'; var gP_='7'; var GpE_='t'; var gq_=','; var Gq_=';'; var gQ_='1'; var GQ_='2'; var gQI_='i'; var gR_='%'; var gr_='5'; var Gr_='7'; var GR_='E'; var GrX_=','; var gS_=';'; var gs_='7'; var Gs_='9'; var GS_='9'; var GsQ_='e'; var gT_='%'; var gt_='1'; var GT_='8'; var Gt_='E'; var GU_='1'; var gu_='2'; var Gu_='5'; var gU_='9'; var guC_='_'; var Gv_=';'; var gV_='2'; var GV_='3'; var gv_='9'; var Gw_='%'; var GW_=';'; var gw_='2'; var gW_='7'; var gX_='%'; var Gx_='%'; var GX_='2'; var gx_='9'; var gXw_='e'; var gY_='1'; var Gy_='2'; var gy_='7'; var GY_='A'; var Gyg_='0'; var gz_='1'; var gZ_='4'; var Gz_='B'; var GZ_='E'; var hA_='1'; var HA_='7'; var Ha_='8'; var ha_='A'; var hb_='%'; var Hb_='%'; var HB_='%'; var hB_='D'; var hC_='%'; var Hc_='6'; var hc_='9'; var HC_='A'; var hCK_='1'; var HCO_='1'; var HD_='%'; var hD_='2'; var Hd_='2'; var hd_='9'; var hE_=','; var HE_=','; var He_='0'; var he_='5'; var Hf_=','; var hF_='3'; var HF_='6'; var hf_='7'; var hg_='%'; var Hg_='%'; var hG_='0'; var HG_='4'; var hgc_='9'; var Hh_='%'; var hH_='1'; var hh_='4'; var HH_='C'; var Hho_='2'; var HhQ_='_'; var HI_='1'; var hi_='3'; var hI_='4'; var Hi_='E'; var hIE_='2'; var HIq_='7'; var hJ_='%'; var Hj_='%'; var hj_=';'; var HJ_='_'; var hk_=','; var HK_=','; var Hk_=';'; var hK_='6'; var Hl_=';'; var hl_='1'; var HL_='1'; var hL_='4'; var hm_=','; var hM_='1'; var HM_='5'; var Hm_='B'; var hN_=';'; var Hn_='2'; var HN_='B'; var hn_='E'; var HO_=','; var Ho_='1'; var ho_='3'; var hO_='F'; var hP_='_'; var hp_='2'; var Hp_='9'; var HP_='E'; var HPP_='9'; var hq_='%'; var HQ_=','; var hQ_=';'; var Hq_=';'; var HR_='%'; var Hr_=';'; var hr_='1'; var hR_='A'; var Hs_='%'; var hs_='0'; var hS_='1'; var HS_='5'; var hsW_='0'; var HSz_='_'; var HT_='%'; var hT_='7'; var ht_='8'; var Ht_='8'; var htw_='a'; var Hu_='%'; var HU_=','; var hU_='9'; var hu_='E'; var Hv_=','; var HV_='4'; var hv_='8'; var hV_='A'; var hW_='_'; var Hw_='_'; var hw_='A'; var HW_='E'; var hx_=','; var Hx_='2'; var HX_='3'; var hX_='7'; var HXd_=','; var hxF_='3'; var Hxo_='p'; var hY_=','; var HY_='0'; var hy_='5'; var Hy_='9'; var HyE_='2'; var Hyj_='V'; var Hyl_='3'; var hz_='%'; var hZ_='%'; var HZ_='%'; var Hz_='B'; var HZk_='4'; var Hzm_='2'; var IA_='%'; var ia_='1'; var iA_='1'; var Ia_='B'; var iAq_='1'; var ib_='%'; var IB_=','; var iB_='B'; var Ib_='B'; var IBD_='2'; var iBG_='1'; var Ibt_='r'; var ic_='0'; var iC_='7'; var Ic_='8'; var IC_='E'; var id_='%'; var Id_='0'; var iD_='1'; var ID_='9'; var Ie_='%'; var iE_=','; var ie_='6'; var IE_='9'; var IEt_='S'; var If_='%'; var IF_=','; var iF_='8'; var if_='A'; var ig_='%'; var iG_='%'; var Ig_='%'; var IG_='5'; var IH_='0'; var Ih_='1'; var ih_='4'; var iH_='7'; var iI_='%'; var II_='%'; var Ii_=','; var ii_='9'; var IJ_='%'; var ij_='1'; var iJ_='8'; var Ij_='8'; var ik_='2'; var iK_='8'; var Ik_='9'; var IK_='E'; var Iks_='1'; var IL_='%'; var il_='6'; var iL_='9'; var Il_='B'; var ILC_='2'; var iM_=';'; var im_='1'; var Im_='3'; var IM_='8'; var imC_='9'; var IMq_='e'; var iN_='2'; var in_='6'; var IN_='A'; var In_='B'; var INh_=','; var Io_='%'; var iO_='2'; var IO_='3'; var io_='4'; var ip_='%'; var iP_='3'; var Ip_='3'; var IP_='6'; var iQ_='1'; var Iq_='5'; var IQ_='9'; var iq_='A'; var iQK_='0'; var iR_=';'; var Ir_='6'; var ir_='9'; var IR_='9'; var IRC_='4'; var IrE_='e'; var IRs_='5'; var IS_='%'; var is_=','; var Is_=';'; var iS_='9'; var iSW_='4'; var it_='0'; var iT_='5'; var It_='A'; var IT_='E'; var iu_='%'; var iU_='%'; var IU_='%'; var Iu_=','; var iv_='_'; var IV_='3'; var iV_='8'; var Iv_='8'; var iW_='%'; var iw_='1'; var IW_='5'; var Iw_='C'; var iWe_='_'; var iX_='%'; var Ix_='%'; var ix_='1'; var IX_='2'; var IXH_='3'; var iy_='0'; var iY_='0'; var Iy_='1'; var IY_='E'; var IYq_='_'; var iz_='%'; var IZ_=';'; var iZ_='2'; var Iz_='3'; var Ja_='%'; var JA_='%'; var ja_=','; var jA_='4'; var jb_='%'; var jB_=','; var JB_=';'; var Jb_='8'; var jc_='%'; var JC_='%'; var Jc_='5'; var jC_='E'; var jcj_='2'; var JD_='%'; var Jd_='1'; var jD_='4'; var jd_='5'; var je_='%'; var JE_='2'; var jE_='B'; var Je_='E'; var JF_='%'; var jF_='0'; var jf_='2'; var Jf_='4'; var jFJ_='1'; var jFR_='0'; var JG_=';'; var jG_='_'; var jg_='0'; var Jg_='5'; var Jh_=';'; var jh_='1'; var jH_='1'; var JH_='3'; var jhl_='2'; var JI_='%'; var ji_='3'; var jI_='3'; var Ji_='B'; var jj_=','; var JJ_='5'; var jJ_='9'; var Jj_='E'; var jjf_='2'; var jk_='_'; var Jk_='7'; var jK_='B'; var JK_='E'; var jL_='%'; var Jl_=';'; var jl_='8'; var JL_='E'; var jm_='%'; var Jm_=','; var jM_='5'; var JM_='E'; var jMm_='9'; var JN_='1'; var Jn_='8'; var jn_='E'; var jN_='E'; var Jnr_='l'; var Jo_='%'; var jo_=';'; var JO_='A'; var jO_='B'; var jOk_='1'; var Jp_='%'; var JP_='2'; var jp_='6'; var jP_='8'; var JQ_='%'; var jQ_='3'; var Jq_='3'; var jq_='8'; var JQH_='_'; var JqT_='2'; var Jr_='2'; var jR_='5'; var jr_='9'; var JR_='A'; var JS_='%'; var Js_=','; var jS_='6'; var js_='9'; var JSo_='l'; var JT_='%'; var jt_=';'; var jT_='1'; var Jt_='1'; var jTz_='_'; var JU_='6'; var ju_='8'; var jU_='9'; var Ju_='A'; var JV_='_'; var jv_='5'; var jV_='6'; var Jv_='E'; var jve_='_'; var JW_='%'; var jw_='9'; var Jw_='A'; var jW_='C'; var jWf_='9'; var jx_=','; var jX_='1'; var JX_='1'; var Jx_='6'; var Jy_=','; var jY_=';'; var JY_='_'; var jy_='B'; var JZ_='%'; var jz_='2'; var Jz_='7'; var jZ_='B'; var jzG_='2'; var kA_='%'; var ka_='5'; var Ka_='7'; var KA_='9'; var KaG_='3'; var kB_='%'; var Kb_='4'; var KB_='6'; var kb_='B'; var KC_='7'; var kC_='8'; var Kc_='8'; var kc_='9'; var kcg_='5'; var kd_=';'; var kD_='7'; var KD_='8'; var Kd_='9'; var kE_='2'; var ke_='9'; var Ke_='E'; var KE_='E'; var kf_=','; var kF_=';'; var Kf_='_'; var KF_='E'; var KfX_='_'; var kfZ_='_'; var kG_='%'; var Kg_='%'; var kg_='0'; var KG_='C'; var kGV_='8'; var KH_='%'; var kh_='_'; var kH_='2'; var Kh_='2'; var khf_='_'; var khF_='7'; var KI_='%'; var ki_='_'; var kI_='1'; var Ki_='7'; var kj_='%'; var kJ_='%'; var KJ_=';'; var Kj_='B'; var kJf_='8'; var KK_='%'; var kK_='2'; var kk_='3'; var Kk_='5'; var KKc_='w'; var kl_='%'; var Kl_='1'; var KL_='5'; var kL_='8'; var KM_='%'; var km_=';'; var Km_='2'; var kM_='9'; var kn_='%'; var Kn_='%'; var kN_=';'; var KN_='8'; var Ko_='5'; var kO_='7'; var ko_='8'; var KO_='9'; var kP_='0'; var kp_='7'; var KP_='7'; var Kp_='8'; var Kpo_='e'; var Kpz_='2'; var kq_=';'; var kQ_=';'; var KQ_=';'; var Kq_='9'; var Kr_=';'; var kr_='3'; var KR_='5'; var kR_='8'; var Krp_='3'; var Ks_='%'; var kS_='8'; var KS_='8'; var ks_='E'; var kT_='0'; var Kt_='2'; var KT_='8'; var kt_='B'; var Ku_=','; var kU_='0'; var KU_='5'; var ku_='7'; var kV_=','; var KV_=';'; var Kv_='2'; var kv_='F'; var KVR_='9'; var kW_=','; var KW_='5'; var Kw_='8'; var kw_='D'; var kWi_='6'; var KX_='%'; var kX_='0'; var Kx_='0'; var kx_='5'; var KXj_='1'; var KXW_='6'; var ky_='%'; var KY_='2'; var Ky_='8'; var kY_='9'; var kYT_=';'; var KZ_=';'; var kz_='1'; var kZ_='2'; var Kz_='3'; var KZd_='R'; var La_=','; var LA_='6'; var lA_='8'; var la_='B'; var lb_='%'; var Lb_='1'; var LB_='6'; var lB_='A'; var lc_='_'; var LC_='6'; var lC_='8'; var Lc_='9'; var LD_='%'; var Ld_=','; var lD_=';'; var ld_='7'; var Ldk_='9'; var lE_=','; var Le_='2'; var le_='6'; var LE_='B'; var LeN_='2'; var LEQ_='3'; var LET_='3'; var lf_='%'; var LF_='1'; var lF_='2'; var Lf_='2'; var lFD_='U'; var LG_='2'; var lg_='4'; var Lg_='6'; var lG_='8'; var lgB_='4'; var LH_=';'; var lH_='_'; var lh_='0'; var Lh_='1'; var LhC_='3'; var Li_='1'; var li_='6'; var lI_='6'; var LI_='D'; var lIg_='2'; var lj_=';'; var Lj_='1'; var LJ_='3'; var lJ_='5'; var Lk_='%'; var lk_='3'; var LK_='5'; var lK_='A'; var ll_='_'; var Ll_='1'; var LL_='3'; var lL_='B'; var lm_='1'; var lM_='6'; var LM_='7'; var Lm_='8'; var Ln_='%'; var LN_='%'; var ln_='_'; var lN_='0'; var Lne_='7'; var LnK_='9'; var lO_=','; var Lo_=','; var LO_='4'; var lo_='9'; var loy_='t'; var lp_=';'; var LP_='2'; var Lp_='9'; var lP_='A'; var Lpk_='6'; var lq_='%'; var lQ_=','; var LQ_=','; var Lq_='A'; var lqN_='0'; var LqS_='9'; var lr_='%'; var LR_='_'; var lR_='0'; var Lr_='8'; var Ls_='%'; var lS_='2'; var ls_='3'; var LS_='9'; var LSL_='5'; var Lt_='1'; var lT_='6'; var LT_='8'; var lt_='9'; var lTZ_='3'; var Lu_=';'; var LU_='3'; var lu_='6'; var lU_='8'; var Lup_='3'; var lV_='%'; var LV_=';'; var lv_='3'; var Lv_='3'; var Lw_='%'; var LW_='_'; var lW_='2'; var lw_='7'; var lX_='%'; var Lx_='1'; var LX_='7'; var lx_='E'; var lxz_='o'; var Ly_='%'; var lY_=';'; var ly_='1'; var LY_='3'; var LZ_='3'; var lZ_='6'; var lz_='8'; var Lz_='9'; var mA_='1'; var MA_='5'; var ma_='8'; var Ma_='B'; var MAC_='3'; var mb_='_'; var MB_='5'; var mB_='9'; var Mb_='9'; var Mbp_='t'; var mc_='3'; var Mc_='6'; var mC_='8'; var MC_='9'; var MCZ_='2'; var MD_='%'; var md_=','; var mD_='A'; var Md_='A'; var ME_='5'; var me_='7'; var Me_='A'; var mE_='E'; var mEw_='t'; var Mf_=';'; var MF_='_'; var mF_='4'; var mf_='B'; var mG_=','; var mg_='E'; var Mg_='E'; var MG_='E'; var MGw_='4'; var Mh_='%'; var MH_='0'; var mh_='9'; var mH_='E'; var Mi_='_'; var MI_='1'; var mi_='8'; var mI_='A'; var mif_='d'; var Mj_='1'; var mJ_='5'; var MJ_='7'; var mj_='9'; var Mk_='%'; var MK_='4'; var mK_='8'; var mk_='9'; var ML_='%'; var mL_='1'; var ml_='7'; var Ml_='7'; var mlJ_='i'; var MM_='0'; var mm_='2'; var mM_='2'; var Mm_='3'; var MN_='3'; var mN_='4'; var mn_='6'; var Mn_='E'; var mo_='%'; var mO_='2'; var MO_='4'; var Mo_='9'; var mp_='%'; var MP_='_'; var mP_='7'; var Mp_='E'; var mpC_='u'; var mPg_=','; var mq_='1'; var mQ_='3'; var Mq_='4'; var MQ_='5'; var MR_='%'; var mr_='_'; var mR_='8'; var Mr_='9'; var Ms_='%'; var MS_='3'; var mS_='8'; var ms_='9'; var mT_='_'; var Mt_='2'; var MT_='3'; var mt_='A'; var mTA_='1'; var MTf_=','; var mTF_='7'; var mtk_='3'; var MU_='%'; var mU_='_'; var mu_='4'; var Mu_='B'; var Mv_=','; var mV_='_'; var mv_='3'; var MV_='E'; var mw_='3'; var mW_='4'; var Mw_='5'; var MW_='5'; var mwR_='9'; var Mx_='%'; var MX_='2'; var mX_='5'; var mx_='8'; var mY_='_'; var my_='5'; var MY_='9'; var My_='E'; var Mz_=','; var mz_='1'; var mZ_='B'; var MZ_='F'; var NA_='1'; var nA_='4'; var Na_='5'; var na_='B'; var naB_='r'; var nAC_='3'; var nAS_='6'; var NB_='%'; var nB_='1'; var nb_='2'; var Nb_='7'; var NBY_='C'; var Nc_=','; var nC_='1'; var nc_='4'; var NC_='B'; var Nd_='0'; var nd_='1'; var nD_='1'; var ND_='6'; var NE_='1'; var ne_='2'; var Ne_='5'; var nE_='6'; var nF_='2'; var Nf_='2'; var NF_='6'; var nf_='9'; var nG_=','; var NG_=';'; var Ng_='3'; var ng_='7'; var NH_='%'; var Nh_=';'; var nh_='1'; var nH_='1'; var Ni_='%'; var ni_='4'; var NI_='8'; var nI_='B'; var niW_='_'; var NJ_='_'; var Nj_='1'; var nJ_='6'; var nj_='E'; var nk_='_'; var Nk_='6'; var NK_='8'; var nK_='E'; var NL_='%'; var nL_=','; var nl_='5'; var Nl_='8'; var nm_='%'; var nM_='%'; var NM_='2'; var Nm_='9'; var Nmu_='l'; var NN_='1'; var nn_='8'; var nN_='9'; var Nn_='D'; var Nno_='c'; var no_=','; var No_='3'; var NO_='6'; var nO_='8'; var Np_='_'; var NP_='0'; var np_='9'; var nP_='9'; var nq_=';'; var Nq_=';'; var nQ_='1'; var NQ_='7'; var nqs_='2'; var NqW_='1'; var nr_=','; var NR_=','; var Nr_='_'; var nR_='2'; var ns_='1'; var nS_='1'; var NS_='5'; var Ns_='7'; var NT_='%'; var nt_=';'; var Nt_='1'; var nT_='3'; var Nu_='_'; var nU_='0'; var nu_='8'; var NU_='9'; var nuS_='7'; var NuT_='2'; var nV_='%'; var nv_='8'; var Nv_='B'; var NV_='E'; var nVQ_=','; var nVr_='_'; var Nw_='1'; var nW_='2'; var nw_='4'; var NW_='6'; var nX_='%'; var NX_='5'; var Nx_='D'; var nx_='E'; var nY_='4'; var NY_='6'; var ny_='8'; var Ny_='9'; var NYq_='3'; var NZ_='%'; var Nz_='1'; var nz_='2'; var nZ_='9'; var NzC_='6'; var NzI_=','; var Oa_='_'; var oA_='5'; var OA_='6'; var oa_='A'; var ob_='1'; var oB_='5'; var OB_='6'; var Ob_='7'; var obD_='_'; var OBz_='2'; var oC_='%'; var Oc_='1'; var OC_='B'; var oc_='E'; var OcV_='9'; var oD_=','; var Od_='B'; var OD_='D'; var od_='E'; var oE_='1'; var oe_='6'; var Oe_='E'; var OE_='E'; var oea_='0'; var OEo_='2'; var OER_='1'; var OF_='_'; var of_='1'; var oF_='1'; var Of_='5'; var OFk_='7'; var oG_='0'; var OG_='5'; var og_='6'; var Og_='8'; var ogX_='r'; var OH_='0'; var Oh_='2'; var oH_='8'; var oh_='9'; var oHZ_='0'; var oI_=','; var Oi_='0'; var OI_='1'; var oi_='4'; var Oj_=';'; var oj_='_'; var OJ_='1'; var oJ_='8'; var OJG_='4'; var oK_='_'; var ok_='1'; var OK_='7'; var Ok_='B'; var Okd_='0'; var oks_='9'; var Oks_='n'; var oL_='%'; var OL_='%'; var Ol_='5'; var ol_='9'; var oM_='5'; var OM_='6'; var om_='9'; var Om_='E'; var OMx_='1'; var On_=';'; var oN_='_'; var on_='7'; var ON_='9'; var ONI_='2'; var Oo_=','; var oo_='_'; var oO_='1'; var OO_='7'; var oOC_='_'; var oOk_='_'; var oP_='2'; var Op_='2'; var op_='3'; var OP_='7'; var Oph_='7'; var oq_='0'; var OQ_='6'; var Oq_='9'; var oQ_='A'; var oqB_='5'; var Or_='0'; var OR_='7'; var oR_='8'; var or_='E'; var OrB_='n'; var OS_='%'; var Os_='4'; var os_='5'; var oS_='6'; var oSg_='1'; var ot_='1'; var OT_='1'; var oT_='7'; var Ot_='8'; var OU_='%'; var ou_=';'; var oU_=';'; var Ou_='_'; var OUM_='t'; var oV_=';'; var Ov_='1'; var OV_='2'; var ov_='9'; var OW_=';'; var oW_='1'; var ow_='4'; var Ow_='6'; var oWV_='8'; var ox_='3'; var Ox_='3'; var OX_='8'; var oX_='A'; var oY_='0'; var Oy_='4'; var OY_='4'; var oy_='5'; var oYj_='_'; var oz_=';'; var Oz_='1'; var oZ_='7'; var OZ_='E'; var OZl_='_'; var Pa_=','; var pa_='1'; var PA_='9'; var pA_='A'; var Pb_='%'; var pb_='4'; var pB_='8'; var PB_='8'; var Pc_=','; var pc_='3'; var pC_='9'; var PC_='E'; var pCb_='2'; var pD_=','; var PD_='2'; var pd_='8'; var Pd_='8'; var pe_='%'; var Pe_='3'; var PE_='6'; var pE_='9'; var pEA_='2'; var pf_='%'; var PF_='%'; var Pf_='4'; var pF_='5'; var Pg_='%'; var pg_='5'; var pG_='8'; var PG_='D'; var Ph_='%'; var pH_=','; var PH_='1'; var ph_='C'; var Phu_='s'; var PI_='%'; var pi_='1'; var Pi_='1'; var pI_='8'; var PIf_='2'; var pJ_=','; var Pj_='1'; var PJ_='7'; var pj_='9'; var PK_=';'; var pK_='5'; var Pk_='5'; var pk_='9'; var pl_='%'; var pL_=','; var PL_='6'; var Pl_='A'; var PM_='%'; var pm_='1'; var pM_='3'; var Pm_='9'; var PN_=';'; var pN_='2'; var pn_='3'; var Pn_='F'; var Po_=','; var po_='2'; var PO_='4'; var pO_='8'; var poL_=','; var Pp_='0'; var PP_='1'; var pP_='4'; var pp_='B'; var pq_='%'; var PQ_='%'; var pQ_=','; var Pq_='6'; var pQf_='w'; var PQu_='5'; var pR_='6'; var PR_='9'; var pr_='A'; var Pr_='E'; var PrQ_=';'; var PS_='%'; var pS_='_'; var ps_='8'; var Ps_='8'; var psy_=';'; var PT_='%'; var pt_='5'; var pT_='7'; var Pt_='B'; var PU_='%'; var pU_='1'; var pu_='5'; var Pu_='8'; var PuU_='n'; var pV_='2'; var PV_='2'; var Pv_='7'; var pv_='8'; var PVA_=','; var PVF_='9'; var pw_='%'; var PW_='_'; var pW_='4'; var Pw_='4'; var pX_='%'; var PX_=','; var px_=';'; var Px_='5'; var pY_=';'; var PY_='1'; var py_='3'; var Py_='3'; var pYn_='3'; var pz_='%'; var Pz_='_'; var PZ_='4'; var pZ_='E'; var qA_='%'; var Qa_='%'; var qa_='6'; var QA_='9'; var qAP_='2'; var Qar_='t'; var qb_=';'; var QB_='5'; var Qb_='7'; var qB_='9'; var Qc_='3'; var QC_='5'; var qc_='7'; var qC_='9'; var QCA_='d'; var QCe_='1'; var QcV_='e'; var qd_='1'; var Qd_='2'; var QD_='6'; var qD_='B'; var qe_='%'; var qE_='1'; var QE_='9'; var Qe_='E'; var QF_='_'; var qf_='3'; var qF_='3'; var Qf_='4'; var qfv_=';'; var QG_='5'; var qG_='8'; var qg_='D'; var Qg_='E'; var Qgf_='i'; var QH_=';'; var qh_='2'; var qH_='7'; var Qh_='7'; var qI_='_'; var Qi_='0'; var QI_='3'; var qi_='9'; var qj_='%'; var qJ_=';'; var QJ_='2'; var Qj_='5'; var QJB_='l'; var Qjm_='3'; var QJR_='c'; var QJY_='o'; var Qk_='0'; var QK_='1'; var qk_='4'; var qK_='5'; var Qkv_='R'; var QkV_='t'; var qL_='_'; var QL_='2'; var ql_='8'; var Ql_='D'; var Qm_='1'; var QM_='2'; var qM_='5'; var qm_='8'; var Qn_='%'; var qn_='0'; var qN_='3'; var QN_='B'; var qo_='%'; var qO_=','; var Qo_='0'; var QO_='5'; var QoL_=';'; var qoR_='8'; var Qp_=','; var QP_='_'; var qp_='1'; var qP_='3'; var qPA_='9'; var Qq_='%'; var qq_=','; var qQ_=','; var QQ_=','; var QQa_='t'; var qR_='%'; var Qr_='%'; var QR_='_'; var qr_='5'; var qrL_='2'; var qrU_='_'; var Qs_='%'; var QS_=';'; var qs_='3'; var qS_='8'; var Qt_=';'; var qT_='2'; var qt_='7'; var QT_='7'; var Qu_='1'; var qu_='4'; var qU_='9'; var QU_='B'; var qub_='_'; var qul_='t'; var QuU_='3'; var qV_='%'; var Qv_='%'; var qv_='1'; var QV_='3'; var QVe_='7'; var qW_='0'; var QW_='4'; var qw_='5'; var Qw_='F'; var qx_='%'; var Qx_=','; var QX_='2'; var qX_='E'; var qxv_=';'; var qY_='%'; var qy_='3'; var Qy_='3'; var QY_='4'; var qyy_='2'; var QZ_='5'; var qz_='B'; var Qz_='B'; var qZ_='E'; var RA_='%'; var ra_=','; var rA_='0'; var Ra_='7'; var RB_='2'; var rB_='3'; var rb_='7'; var Rb_='7'; var rBK_='4'; var RC_=','; var rc_=';'; var Rc_='_'; var rC_='0'; var rCD_='1'; var Rck_='3'; var RCx_='l'; var RCZ_='2'; var rD_='%'; var RD_=','; var Rd_='B'; var rd_='E'; var Re_=';'; var re_='1'; var rE_='6'; var RE_='8'; var reM_='n'; var ReZ_='4'; var rF_='%'; var RF_='%'; var Rf_='0'; var rf_='8'; var rg_='_'; var Rg_='5'; var rG_='6'; var RG_='E'; var RGW_='4'; var Rh_=','; var RH_='_'; var rh_='0'; var rH_='6'; var rHT_='3'; var RI_=','; var ri_='2'; var rI_='A'; var Ri_='E'; var RJ_='%'; var rJ_=','; var rj_='_'; var Rj_='2'; var RK_='%'; var rk_=','; var rK_=';'; var Rk_='2'; var rl_=','; var rL_='1'; var RL_='6'; var Rl_='B'; var Rm_='%'; var RM_='1'; var rm_='9'; var rM_='E'; var Rmw_='3'; var RN_='0'; var Rn_='8'; var rn_='E'; var rN_='E'; var Ro_='%'; var RO_=','; var rO_='3'; var ro_='9'; var rop_='3'; var rp_=','; var Rp_='_'; var rP_='1'; var RP_='2'; var rpb_='_'; var RQ_='4'; var rQ_='8'; var Rq_='8'; var rq_='9'; var rR_=','; var rr_=';'; var RR_='1'; var Rr_='B'; var rs_='%'; var RS_='%'; var Rs_='_'; var rS_='2'; var rt_='_'; var rT_='_'; var Rt_='5'; var RT_='8'; var rto_='h'; var RU_='1'; var Ru_='2'; var rU_='7'; var ru_='8'; var RV_='1'; var rV_='5'; var rv_='8'; var Rv_='A'; var RW_='4'; var rw_='5'; var rW_='5'; var Rw_='B'; var rWO_='5'; var RwV_='3'; var rWx_='5'; var RX_='4'; var rX_='5'; var rx_='E'; var Rx_='E'; var RXe_='9'; var ry_='%'; var RY_='%'; var rY_='3'; var Ry_='A'; var rYF_='5'; var rZ_='%'; var RZ_=';'; var Rz_='2'; var rz_='E'; var RZA_='3'; var sA_='%'; var sa_='_'; var Sa_='4'; var SA_='4'; var saH_='9'; var sak_='5'; var saz_='4'; var SB_=','; var sb_='1'; var sB_='5'; var Sb_='8'; var sbe_='2'; var SC_='%'; var sc_=';'; var sC_='6'; var Sc_='8'; var SCY_='8'; var Sd_='%'; var sD_='3'; var SD_='3'; var sd_='A'; var sE_='%'; var se_='1'; var SE_='6'; var Se_='7'; var SED_='y'; var Sf_='0'; var SF_='6'; var sF_='8'; var sf_='E'; var sfd_='3'; var SFZ_='c'; var sg_='7'; var sG_='9'; var Sg_='D'; var SG_='E'; var Sgn_='_'; var sGW_='5'; var SH_='1'; var Sh_='4'; var sH_='6'; var sh_='B'; var ShO_='7'; var sI_='%'; var SI_='1'; var si_='7'; var Si_='9'; var Sit_='2'; var SJ_='%'; var sJ_=','; var sj_='2'; var Sj_='2'; var sk_=';'; var Sk_='_'; var sK_='1'; var SK_='1'; var SkZ_='5'; var SL_=';'; var sl_='_'; var Sl_='_'; var sL_='9'; var slr_='2'; var SM_='1'; var sM_='2'; var sm_='9'; var Sm_='A'; var SmA_='7'; var sn_='%'; var sN_='%'; var Sn_='1'; var SN_='1'; var SO_=';'; var so_='_'; var So_='4'; var sO_='E'; var sP_='%'; var SP_='4'; var Sp_='6'; var sp_='E'; var SPk_='4'; var Sq_='%'; var sq_='_'; var sQ_='5'; var SQ_='6'; var sqX_='9'; var SR_='_'; var sR_='0'; var Sr_='4'; var sr_='8'; var SS_=','; var Ss_='1'; var sS_='9'; var ss_='E'; var sT_='%'; var st_='4'; var ST_='8'; var St_='E'; var sTt_='_'; var Su_='1'; var sU_='7'; var SU_='8'; var su_='9'; var SUr_='e'; var sv_=','; var SV_=';'; var Sv_='4'; var sV_='7'; var sW_='1'; var Sw_='1'; var SW_='1'; var sw_='3'; var sx_='_'; var Sx_='0'; var SX_='7'; var sX_='A'; var Sy_='%'; var SY_='%'; var sY_='_'; var sy_='7'; var sz_='%'; var sZ_='%'; var SZ_='%'; var Sz_=','; var TA_='_'; var ta_='0'; var tA_='1'; var Ta_='3'; var tAp_='0'; var tB_='%'; var TB_=';'; var tb_='6'; var Tb_='8'; var TbF_='o'; var tC_=';'; var TC_='6'; var Tc_='7'; var tc_='8'; var tCu_='0'; var td_='%'; var Td_=','; var tD_='1'; var TD_='9'; var te_='1'; var tE_='3'; var TE_='6'; var Te_='B'; var teE_='1'; var teK_='1'; var tF_='1'; var tf_='2'; var Tf_='2'; var TF_='7'; var TfZ_='2'; var TG_='%'; var tG_='5'; var tg_='8'; var Tg_='8'; var tGW_='f'; var th_='1'; var tH_='1'; var Th_='1'; var TH_='5'; var Ti_=';'; var TI_='4'; var ti_='8'; var tI_='E'; var tic_='o'; var tiW_=';'; var Tj_=','; var TJ_='1'; var tj_='6'; var tJ_='6'; var tk_='%'; var Tk_=','; var TK_=','; var tK_='9'; var Tkj_='1'; var TKY_=','; var tl_='%'; var tL_='%'; var Tl_='0'; var TL_='2'; var tLZ_='_'; var Tm_='0'; var tm_='1'; var tM_='1'; var TM_='1'; var tn_='_'; var TN_='_'; var tN_='A'; var Tn_='F'; var TnN_='0'; var to_='%'; var TO_='_'; var tO_='1'; var To_='1'; var toE_='9'; var ToU_='2'; var tOw_='8'; var TP_='%'; var tp_='1'; var tP_='1'; var Tp_='5'; var tPn_='1'; var Tq_='%'; var TQ_=';'; var tq_='1'; var tQ_='E'; var Tr_='_'; var tR_='2'; var tr_='A'; var TR_='E'; var tRr_='_'; var tS_='1'; var Ts_='8'; var ts_='9'; var TS_='A'; var TSN_=';'; var TT_=','; var Tt_='_'; var tt_='2'; var tT_='2'; var ttJ_='2'; var TU_='0'; var tU_='1'; var Tu_='1'; var tu_='D'; var TuJ_='o'; var Tv_='%'; var tv_=';'; var TV_='_'; var tV_='8'; var TVR_='f'; var Tw_='4'; var tw_='8'; var tW_='B'; var TW_='E'; var TWi_='8'; var Twr_='1'; var TX_=','; var Tx_='0'; var tX_='1'; var tx_='D'; var txt_=','; var TY_='%'; var ty_='_'; var tY_='1'; var Ty_='5'; var TyA_='7'; var tZ_=','; var TZ_='1'; var Tz_='3'; var tz_='5'; var tzw_=';'; var UA_='%'; var ua_='8'; var uA_='8'; var Ua_='9'; var UaB_='6'; var uay_='2'; var UB_=','; var uB_='_'; var Ub_='1'; var ub_='3'; var UbD_='2'; var uc_='%'; var uC_='%'; var UC_='6'; var Uc_='8'; var UD_='%'; var Ud_=';'; var ud_='0'; var uD_='B'; var udN_='4'; var ue_='%'; var Ue_=';'; var UE_='7'; var uE_='E'; var UEQ_='9'; var UEs_='1'; var UF_='%'; var uf_='_'; var uF_='1'; var Uf_='E'; var Ug_=','; var ug_='4'; var uG_='7'; var UG_='D'; var UgS_='4'; var UH_=';'; var uH_='0'; var Uh_='4'; var uh_='7'; var UHn_='4'; var Ui_='0'; var uI_='2'; var ui_='8'; var UI_='8'; var UIA_='3'; var uiE_='_'; var uIo_='_'; var Uj_='%'; var uj_='1'; var UJ_='9'; var uJ_='E'; var UJz_='o'; var uK_='_'; var UK_='2'; var Uk_='8'; var uk_='B'; var UkX_='_'; var ul_='_'; var uL_='1'; var UL_='5'; var Ul_='A'; var Ult_='9'; var UM_='%'; var Um_='5'; var um_='9'; var uM_='B'; var Uma_='1'; var uN_='%'; var UN_='1'; var Un_='6'; var un_='8'; var uNR_='_'; var Uo_=','; var uO_='7'; var UO_='A'; var uo_='D'; var uP_='%'; var Up_='_'; var UP_='1'; var up_='8'; var uPp_='y'; var upS_='_'; var uQ_=','; var Uq_=','; var UQ_='7'; var uq_='8'; var uqz_='1'; var UR_=','; var Ur_='_'; var uR_='2'; var ur_='6'; var URD_='3'; var uRK_='_'; var uS_=';'; var us_='1'; var Us_='3'; var US_='B'; var USV_=';'; var ut_=';'; var uT_='0'; var UT_='1'; var Ut_='A'; var UTO_=','; var uu_=','; var uU_='1'; var UU_='2'; var Uu_='F'; var UV_='%'; var uv_='5'; var uV_='A'; var Uv_='C'; var uw_='%'; var UW_='1'; var Uw_='2'; var uW_='7'; var uwm_='7'; var uX_='1'; var UX_='6'; var Ux_='8'; var ux_='E'; var uxB_='3'; var uxD_='4'; var uxx_='6'; var uY_='0'; var Uy_='3'; var uy_='6'; var UY_='F'; var uZ_='%'; var Uz_=','; var uz_='1'; var UZ_='A'; var uZA_='2'; var UZj_='2'; var vA_=';'; var VA_='1'; var Va_='3'; var va_='8'; var vb_='%'; var VB_='%'; var vB_='1'; var Vb_='3'; var vc_='%'; var Vc_='1'; var VC_='8'; var vC_='9'; var vD_='_'; var Vd_='1'; var vd_='3'; var VD_='3'; var Ve_='_'; var VE_='1'; var ve_='2'; var vE_='E'; var VF_=','; var vf_='0'; var Vf_='2'; var vF_='E'; var VFF_='3'; var vg_='1'; var vG_='4'; var Vg_='6'; var VG_='6'; var Vh_='%'; var VH_='%'; var vh_='1'; var vH_='4'; var VHf_='5'; var Vhs_='9'; var VI_=','; var vi_='1'; var vI_='1'; var Vi_='7'; var viB_='1'; var VJ_='%'; var vj_='2'; var Vj_='2'; var vJ_='8'; var Vk_='1'; var VK_='1'; var vK_='8'; var vk_='D'; var vL_='1'; var Vl_='1'; var VL_='9'; var vl_='B'; var vM_=','; var VM_='_'; var Vm_='2'; var vm_='7'; var vn_='%'; var VN_='_'; var Vn_='1'; var vN_='2'; var vO_='%'; var Vo_='%'; var VO_='_'; var vo_='9'; var vOq_='9'; var VP_=','; var vp_='0'; var Vp_='4'; var vP_='9'; var vQ_=','; var Vq_=';'; var vq_='4'; var VQ_='A'; var vr_=','; var vR_='4'; var Vr_='9'; var VR_='F'; var Vs_='7'; var VS_='8'; var vS_='9'; var vs_='E'; var VT_='%'; var vT_='1'; var vt_='3'; var Vt_='3'; var Vu_=','; var vu_=';'; var VU_='3'; var vU_='7'; var VUM_='4'; var VV_=';'; var vv_='6'; var vV_='7'; var Vv_='7'; var VVb_='_'; var VVq_='9'; var vW_='%'; var Vw_='%'; var vw_='1'; var VW_='4'; var VWv_='_'; var Vx_=','; var vX_='0'; var vx_='5'; var VX_='9'; var VxT_='_'; var VXV_=';'; var VY_='3'; var Vy_='8'; var vY_='B'; var vy_='D'; var vyl_='3'; var vz_='%'; var vZ_='%'; var Vz_=';'; var VZ_='8'; var VzM_='_'; var wa_=';'; var wA_='1'; var Wa_='1'; var WA_='2'; var WAJ_='a'; var wAY_='3'; var wb_='3'; var wB_='3'; var WB_='3'; var Wb_='4'; var wC_='%'; var WC_='6'; var wc_='9'; var Wc_='A'; var Wcp_='9'; var WD_='_'; var wD_='1'; var Wd_='2'; var wd_='E'; var WE_=','; var we_=';'; var We_='0'; var wE_='9'; var wF_='%'; var wf_='1'; var WF_='8'; var Wf_='E'; var wG_='_'; var Wg_='_'; var WG_='8'; var wg_='9'; var Wh_='%'; var wH_='7'; var wh_='9'; var WH_='9'; var WhU_='u'; var wi_='5'; var wI_='8'; var WI_='9'; var Wi_='E'; var WiO_='u'; var wJ_='%'; var Wj_='6'; var wj_='E'; var WJ_='F'; var Wja_='2'; var wK_='%'; var Wk_='%'; var WK_='_'; var wk_='5'; var wKt_='3'; var Wl_=','; var wL_='0'; var wl_='2'; var WL_='2'; var wLE_='9'; var WM_='%'; var wm_='_'; var wM_='3'; var Wm_='E'; var wN_='%'; var WN_='1'; var wn_='2'; var Wn_='6'; var wO_='%'; var Wo_='1'; var WO_='6'; var wo_='B'; var wp_='%'; var wP_=';'; var Wp_='1'; var WP_='7'; var WPS_=';'; var WQ_='1'; var wQ_='7'; var Wq_='7'; var wq_='D'; var Wr_='%'; var WR_='1'; var wr_='5'; var wR_='C'; var wS_='%'; var ws_=';'; var WS_=';'; var Ws_='6'; var wt_='%'; var Wt_='%'; var WT_='%'; var wT_='6'; var WtN_='e'; var Wu_=';'; var wu_='4'; var wU_='7'; var WU_='B'; var wUv_='3'; var WV_='4'; var wv_='9'; var Wv_='9'; var wV_='D'; var WvU_=','; var wW_=','; var Ww_=','; var WW_=';'; var ww_='6'; var WwQ_='5'; var wwz_='4'; var Wx_='%'; var wx_='2'; var WX_='3'; var wX_='9'; var WXL_='2'; var WY_=';'; var Wy_='1'; var wy_='6'; var wY_='E'; var wZ_='2'; var Wz_='3'; var WZ_='5'; var wz_='7'; var XA_=','; var Xa_='1'; var xa_='2'; var xA_='7'; var xB_=','; var XB_=','; var xb_=';'; var Xb_='6'; var Xc_=','; var xc_='0'; var XC_='5'; var xC_='8'; var xD_='4'; var XD_='8'; var Xd_='9'; var xd_='F'; var Xdn_='2'; var xe_='%'; var Xe_='%'; var xE_='B'; var XE_='B'; var xEk_='3'; var Xf_='%'; var xf_='0'; var xF_='2'; var XF_='B'; var xG_='2'; var XG_='3'; var xg_='8'; var Xg_='9'; var xH_=';'; var Xh_='_'; var XH_='3'; var xh_='4'; var xI_='2'; var xi_='3'; var Xi_='7'; var XI_='7'; var Xj_='3'; var xj_='8'; var xJ_='8'; var XJ_='8'; var xK_='%'; var xk_=';'; var XK_='1'; var Xk_='A'; var xL_='%'; var xl_='0'; var XL_='5'; var Xl_='E'; var XM_='%'; var xm_=','; var xM_='4'; var Xm_='5'; var xn_='%'; var XN_='1'; var xN_='6'; var Xn_='E'; var Xo_=';'; var xo_='_'; var xO_='2'; var XO_='A'; var xop_='3'; var xOs_='_'; var xp_='_'; var Xp_='1'; var xP_='8'; var XP_='E'; var xpS_='5'; var xq_='%'; var XQ_='4'; var xQ_='C'; var Xq_='E'; var Xr_=';'; var xR_='1'; var XR_='2'; var xr_='5'; var xrJ_='m'; var Xs_='%'; var XS_='%'; var xS_='0'; var xs_='A'; var xt_='%'; var XT_='1'; var xT_='9'; var Xt_='A'; var XTh_='1'; var Xu_='2'; var xu_='6'; var XU_='9'; var xU_='E'; var Xul_='4'; var xv_='%'; var Xv_='%'; var xV_='5'; var XV_='C'; var xvO_='_'; var Xw_='1'; var xw_='E'; var xW_='E'; var XW_='E'; var xX_='3'; var Xx_='B'; var xx_='C'; var XX_='E'; var XXE_='4'; var xXR_=';'; var xy_='%'; var XY_='1'; var Xy_='7'; var xY_='E'; var xYm_='_'; var xz_=','; var XZ_='_'; var xZ_='3'; var Xz_='8'; var XZJ_='I'; var XZS_='_'; var XZX_='8'; var YA_='%'; var yA_='0'; var ya_='1'; var Ya_='9'; var Yb_='%'; var YB_='5'; var yB_='9'; var yb_='B'; var Yc_='1'; var YC_='9'; var yC_='B'; var yc_='E'; var ych_='7'; var yCu_='1'; var Yd_='0'; var yD_='3'; var YD_='6'; var yd_='C'; var yE_='%'; var ye_='1'; var Ye_='7'; var YE_='E'; var Yf_='%'; var yf_='_'; var YF_='0'; var yF_='E'; var yg_='%'; var YG_='1'; var Yg_='4'; var yG_='8'; var YgS_=';'; var yh_=','; var yH_=';'; var YH_='8'; var Yh_='9'; var YHJ_='2'; var Yi_='3'; var yi_='4'; var yI_='7'; var YI_='E'; var Yj_='%'; var yJ_=';'; var yj_='1'; var YJ_='E'; var yk_='%'; var yK_='2'; var Yk_='A'; var YK_='E'; var yki_='m'; var YL_='%'; var yL_=';'; var Yl_='A'; var yl_='E'; var yLh_='1'; var YLU_='2'; var ylV_='2'; var ym_='%'; var Ym_=','; var YM_='9'; var yM_='F'; var yMM_='6'; var YMw_='o'; var yn_='%'; var yN_=';'; var YN_=';'; var Yn_='4'; var yo_='%'; var YO_='%'; var yO_='0'; var Yo_='5'; var yoz_='5'; var YP_=','; var yp_='9'; var yP_='9'; var Yp_='E'; var yPr_='2'; var yq_='%'; var YQ_='%'; var yQ_='7'; var Yq_='B'; var yR_='1'; var Yr_='4'; var yr_='E'; var YR_='E'; var yRo_='V'; var yRt_='5'; var Ys_='%'; var ys_='1'; var YS_='8'; var yS_='9'; var YT_=','; var yt_='5'; var yT_='5'; var Yt_='E'; var YU_='0'; var yU_='2'; var Yu_='3'; var yu_='9'; var yv_=','; var Yv_='5'; var YV_='5'; var yV_='E'; var YW_=','; var Yw_='7'; var yw_='8'; var yW_='B'; var yWS_='3'; var YX_='%'; var Yx_='0'; var yx_='2'; var yX_='3'; var yy_='2'; var yY_='2'; var YY_='4'; var Yy_='8'; var yyy_=','; var Yz_=';'; var YZ_='1'; var yZ_='2'; var yz_='9'; var za_='%'; var zA_=';'; var ZA_=';'; var Za_='E'; var ZB_='1'; var Zb_='5'; var zB_='6'; var zb_='8'; var zc_='%'; var ZC_='%'; var zC_=','; var Zc_='C'; var zD_=','; var zd_=';'; var Zd_=';'; var ZD_='2'; var zDI_='2'; var ZE_='%'; var ze_=';'; var Ze_='4'; var zE_='6'; var zEg_='0'; var zEv_='e'; var ZF_=';'; var zf_='6'; var Zf_='9'; var zF_='F'; var zfJ_='6'; var Zfo_=';'; var zg_='%'; var ZG_='%'; var Zg_='0'; var zG_='5'; var Zh_='_'; var ZH_='6'; var zH_='9'; var zh_='E'; var zHA_='2'; var Zhf_='2'; var Zhp_=','; var Zi_='%'; var ZI_=','; var zi_='_'; var zI_='7'; var Zj_=';'; var zJ_='1'; var ZJ_='3'; var zj_='E'; var Zk_='%'; var zk_='1'; var ZK_='8'; var zK_='B'; var zL_='%'; var ZL_='%'; var Zl_='8'; var zl_='E'; var ZLI_='2'; var zLx_='p'; var zm_='0'; var ZM_='0'; var zM_='2'; var Zm_='8'; var zN_='0'; var ZN_='6'; var Zn_='7'; var zn_='9'; var ZNe_=';'; var ZNf_='i'; var ZNi_='C'; var znS_='5'; var znu_='7'; var ZNW_='3'; var ZO_='%'; var zo_='_'; var Zo_='7'; var zO_='8'; var ZP_='%'; var Zp_='_'; var zp_='1'; var zP_='1'; var zq_='%'; var zQ_=';'; var ZQ_=';'; var Zq_='2'; var Zr_='_'; var zR_='1'; var zr_='3'; var ZR_='6'; var zs_=','; var ZS_='6'; var Zs_='8'; var zS_='E'; var zT_='%'; var zt_=';'; var Zt_='_'; var ZT_='3'; var zU_='2'; var Zu_='2'; var ZU_='9'; var zu_='E'; var zuw_=';'; var zv_='%'; var ZV_='0'; var zV_='1'; var Zv_='1'; var zW_='%'; var ZW_='2'; var zw_='B'; var Zw_='E'; var zX_=';'; var zx_='0'; var ZX_='6'; var Zx_='A'; var zy_='7'; var Zy_='8'; var ZY_='A'; var zY_='E'; var ZyL_='6'; var zYq_='5'; var zyv_='e'; var Zz_='1'; var zZ_='5'; var zz_='9'; var ZZ_='A'; var ZZx_='6'; var PZm_= BpA_('TQA_'); var YTM_='_'; var DWn_='3'; var NKd_='_'; var ftm_='4'; var Abj_='_'; var GsA_='2'; var ZFK_='7'; var Cbm_='7'; var UlX_='0'; var Jyl_='9'; var ffa_='3'; var bAf_='0'; var dmf_='7'; var ejg_='3'; var mcI_='4'; var wpz_='4'; var CmW_='4'; var wcs_='3';})(document);</script><script>try{document.onselectstart = function (e) { return false; } }catch(e){}try{document.οncοntextmenu=function(e){return false;}}catch(e){}
    我是比较懒的人。对于我来说我是不会选择还原他的办法。苦逼的我继续寻找数据源,正在云里雾里的时候我发现了。他们的移动端。欧耶!

    他们的移动端和pc 的策略是不一样的。经过对移动端的页面和js,查找过后终于发现了一个js文件很有意思。竟然把源提供数据的接口都放在那里,包括一个参数和一个等于号,就等我给他传一个参数值那。哈哈哈,这样的问题,相信不少同行都犯过,甚至想一下你们的线上产品是不是到目前为止还存在这种问题。

    我很不吝啬把参数值给了他,哈哈哈,他更大方,给了我他们的全部数据。我就是车讯技术孟令杰。我就是这么大方。哈哈哈。数据到。


    只有当年最新的数据,往年的数据没有给出来。通过上面的方法查找,发现他们还提供了另外一个数据接口。并且在页面上提供了往年的数据ID,这想起了一个html 解析器Jsoup。

    String seriesId = carSeriesMatchBean.getAutohomeUri();
    String chexiUrl = "http://www.xxxxx.com.cn/" + seriesId + "/";
    Document chexingDoc = Jsoup.connect(chexiUrl).timeout(10000).get();
    Elements yearEles = chexingDoc.select("div.dropdown-content li a[data]");
    if (yearEles != null && yearEles.size() > 0) {
            Iterator<Element> yearIte = yearEles.iterator();
            while (yearIte.hasNext()) {
                Element yearEle = yearIte.next();
                String yearId = yearEle.attr("data");
                if(yearId == null || "".equals(yearId)) {continue;}
                String url = "http://www.autohome.com.cn/ashx/series_allSpec.ashx?s=" + seriesId + "&y=" + yearId;
                String response = HttpHelper.connect(url).get().html();
                 }
    }
    

    就这样往年的旧数据也到手了。

    两个礼拜的折腾都在找数据源,用了两天时间把数据全部持久到我的数据库中。



    展开全文
  • 爬虫抓取技术

    2017-04-24 12:58:00
    互联网数据很多,发现好内容并能持续不断的抓取是一项不简单的工作。 反反爬虫 爬虫的固定套路也就那么多,各种网站爬取策略的不同就在于网站的反爬虫机制不同,因此多作试验,摸清网站的反爬机制,是大规模爬虫的...

      互联网数据很多,发现好内容并能持续不断的抓取是一项不简单的工作。

    反反爬虫

    爬虫的固定套路也就那么多,各种网站爬取策略的不同就在于网站的反爬虫机制不同,因此多作试验,摸清网站的反爬机制,是大规模爬虫的先行工作。爬虫与反爬虫是无休止的斗争,也是一个见招拆招的过程,但总体来说,以下方法可以绕过常见的反爬虫。

    • 加上headers。这是最基础的手段。加上了请求头就可以伪装成浏览器,混过反爬的第一道关卡;反之,连请求头都不加,网站可以直接看出是程序在访问而直接拒绝。一般的网站加上User-Agent就可以,反爬严格的网站则要加上cookie甚至各种参数都要加上。
    • 随机延时。这是最简单有效的一种手段。稳定性是大规模爬虫的另一个核心问题,虽然与效率冲突。许多网站都会统计同一个IP一段时间内的访问频率,如果采集过快,会直接封禁IP。不要为了一时爽而不加延时导致几分钟后IP就被封24小时,还不如老老实实地加延时慢慢爬一夜爬完。至于延时加多少因各个网站而异,但一般情况下延时个3~5秒就足够了。
    • 如果页面量实在太大,每次访问设置的随时延时也会成为额外大量的时间成本。单个IP快速访问会有被封的风险,这是就要用代理池,有两点好处:一是降低某个IP单位时间内的访问频率,降低被封风险;二是即使IP被封,也有别的IP可以继续访问。代理池有免费和收费的,免费代理可以从许多网站上获取(这也是一个爬虫项目),但大部分都没用,有用的小部分也会很快挂掉;收费代理好一点,但也好不了多少。高质量的代理成本就高了不少,这个要结合项目实际需求来考虑成本。所以,如果网站不封IP就可以不用代理,以免减慢访问速度,增大被拒的概率。
    • 有的网站必须要登录才能访问,才能爬虫。以知乎为例,知乎的模拟登录必较简单,甚至现在都没有对帐号和密码加密,直接明文post就可以。请求头的cookie含有登录信息,而知乎的cookie寿命较长,所以可以直接在网站上人工登录然后把cookie复制到代码中;知乎目前的反爬机制是如果判断是机器人就封帐号但不封IP——封IP是同样的机器无法访问,但却可以用同样的帐号在其他机器上访问;封号是同样的帐号在各种终端上都无法访问,但同一台机器上却可以换号访问。基于这种机制,爬知乎就不需要IP代理池而需要的是帐号池。举另一个例子,腾讯有一个子网站,它也要求必须QQ登录,而且cookie只有6分钟的寿命,而且一个帐号一天只能访问130次超过就封号,无论爬得再慢——这种情况下只能搞大量的QQ号进行自动登录并不断切换。
    • 如果有的网站的反爬机制实在太过丧心病狂,各种JS代码逻辑十分复杂艰深,那只能模拟浏览器了。模拟浏览器其实就是一种自动的浏览器访问,与正常的用户访问很类似,所以可以跳过大部分的反爬机制,因为你装得实在太像正常用户;不过缺点也很明显,就是慢。所以可以用requests搞定的优先用requests,实在没有办法了再考虑模拟浏览器。
    • 验证码。验证码一出就蛋疼了……Python有自动识别图像的包,不过对于大部分网站的验证码都无能为力。写一个自动识别验证码的程序理论上不是不行,但是这种复杂的机器学习项目一点都不比爬虫系统本身难度低,从成本的角度考虑实在是得不偿失——何况对于有些网站如谷歌,验证码识别是非常困难的。所以对于验证码问题,首先是躲过去尽量不要触发验证码,实在触发了只能乖乖人工去填验证码。

    好文章

    http://www.cnblogs.com/lafengdatascientist/p/6740199.html

    http://www.jianshu.com/p/f325430800e7

    转载于:https://www.cnblogs.com/freedommovie/p/6756338.html

    展开全文
  • 使用Node.js实现一个简单的爬虫程序,抓取百度热搜的数据抓取网站地址: http://top.baidu.com/buzz?b=1&c=513&fr=topbuzz_b341 效果图如下: 代码示例 const request = require('request')
  • 网页抓取数据抽取技术有很悠久的发展历史,大家通过各种技术手段实现网页内容的采集目的,而且,在每个计算技术...网页抓取/数据抽取/网络爬虫技术方法 编程 使用微软技术实现网站内容抓取数据抽取 使用Ja
  • 网络爬虫技术怎样实现抓取页面往期交易数据?跪求 要抓取的是这个网站过去每天的交易数据...
  • PHP爬虫抓取segmentfault问答一 需求概述抓取中国领先的开发者社区segment.com网站上问答及标签数据,侧面反映最新的技术潮流以及国内程序猿的关注焦点.注:抓取脚本纯属个人技术锻炼,非做任何商业用途.二 开发环境及...
  • 目前主要是扫描斗鱼直播的数据进行统计,后续会加入其他直播网站(战旗、熊猫、itwich等)爬虫结果。站点是在个人兴趣指引下用业余时间写的项目,可能技术还欠缺火候。使用中有问题或更新建议,欢迎直接提issue Github...
  • WPF-Automatic-Crawler 这是一款带UI界面的自动化采集爬虫,内部使用了WebKit浏览器内核,以实现对Ajax动态加载数据的采集。整个软件采用策略设计模式,可非常灵活的通过编写多个策略类来定义数据抓取方式及内容。
  • 爬虫技术是索取互联网信息主要手段,一直想接触,但并没有实体项目。近期偶尔关注股票,一位朋友非常强调每个公司的公告信息的重要性,甚至在短期内极度影响一直股票的走势。 所以,自己基于scrapy+python实现了一个...
  • 之前学了福彩3D网络爬虫技术,然后我研究了一天时间,写了一个体彩排列3爬虫抓取程序,为了感谢网友们的贡献,我决定分享代码 首先找一家比较大型的网站,500彩票网,因为是美国上市公司,轻易不会黄,这样写的代码用的时间...
  • 在大数据如此火爆的今天,我们对数据利用率却不到7%,可见数据抓取使用迫在眉睫。 Python爬虫 是时下最流行的 网络爬虫 语言,在使用Python爬虫抓取信息时常见问题有哪些? 1、网页不定时更新 2、网站限制 IP地址 ...
  • 在Web 2.0时代,很多网站采用AJAX技术实现,带来较好用户体验的代价是,Javascript得到的内容搜索引擎无法爬到,Google也正在研究此种技术。本文讨论Asp.Net程序生成的链接,爬虫如何能爬进去的问题。问题:某网站...
  • 在Web 2.0时代,很多网站采用AJAX技术实现,带来较好用户体验的代价是,Javascript得到的内容搜索引擎无法爬到,Google也正在研究此种技术。本文讨论Asp.Net程序生成的链接,爬虫如何能爬进去的问题。问题:某网站...
  • Web抓取的目的是从任何网站获取数据,从而节省了收集数据/信息的大量体力劳动。例如,您可以从IMDB网站收集电影的所有评论。之后,您可以执行文本分析,以从收集到的大量评论中获得有关电影的见...
  • 在Web 2.0时代,很多网站采用AJAX技术实现,带来较好用户体验的代价是,Javascript得到的内容搜索引擎无法爬到,Google也正在研究此种技术。本文讨论Asp.Net程序生成的链接,爬虫如何能爬进去的问题。问题:某网站...
  • Python爬虫抓取某音乐网站MP3(下载歌曲、存入Sqlite)  最近右胳膊受伤,打了石膏在家休息。为了实现之前的想法,就用左手打字、写代码,查资料完成了这个资源小爬虫。网页爬虫, 最主要的是协议...
  • 针对这些问题,提出了一个基于多数据源的论文数据爬虫技术。首先,以知网、万方数据、维普网、超星期刊四大中文文献服务网站数据源,针对检索关键词完成列表页数据的爬取与解析;然后通过任务调度策略,去除各数据...
  • Python爬虫开发,从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。世界上80%的爬虫...
  • 抓取中国领先的开发者社区segment.com网站上问答及标签数据,侧面反映最新的技术潮流以及国内程序猿的关注焦点. 注:抓取脚本纯属个人技术锻炼,非做任何商业用途. 二 开发环境及包依赖 运行环境 CentOS Linux release...
  • 网络爬虫是指从网站提取数据技术,该技术可以将非结构化数据转换为结构化数据。 网络爬虫的用途是从网站提取数据,提取的数据可以存储到本地文件并保存在系统中,也可以将其以表格的形式存储到数据库中。网络爬虫...
  • 爬虫-政府采购网数据抓取(2018-12-28)

    千次阅读 2018-12-28 10:06:01
    文章目录前言爬虫思路目标网站思路技术亮点脚本内容致谢 前言 今天心情好,一来是因为马上2019年了,二来是因为自然开心。 于是乎,把自己工作写的一个爬虫脚本分享出来。 爬虫思路 目标网站 ...amp;...
  •  Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。可以应用在包括数据挖掘, 信息处理或存储历史数据等一系列的程序中。其最初是为了页面抓取(更确切来说,网络抓取)所设计的,也可以应用在获取API所...
  • “前嗅”是一个大数据软件提供商,客户根据需求选择不同版本的爬虫软件(ForeSpider前嗅爬虫系统),在网站数据平台采集所需的结构化或非结构化数据,该爬虫软件支持Cookie技术、Https安全协议、OAuth认证,内置有...
  • 网络爬虫技术

    千次阅读 2019-04-24 17:20:12
    1、爬虫技术概述 网络爬虫(Web crawler),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,它们被广泛用于互联网搜索引擎或其他类似网站,可以自动采集所有其能够访问到的页面内容,以获取或更新...
  • 搜索引擎可以通过爬虫抓取网页信息,同时也有很多企业通过爬虫获取其他平台的信息用于数据分析或者内容优化,但是对于自身网站有些页面或者信息并不希望被爬虫抓取,那我们如何来实现反爬虫技术呢?如何防止别人爬...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 456
精华内容 182
关键字:

爬虫技术抓取网站数据

爬虫 订阅