国家企业信用公示系统的爬取

国家企业信用公示系统的爬取

1. 网站分析

1.1 获取首页

  • 通过 requests.get 直接请求网站首页,返回 521 错误提示码,返回结果是js代码。这是采用乐加速乐反爬技术,在访问前先判断客户端的cookie是否正确,如果不正确,返回521状态码和一段js代码,并且进行set-cookie操作,返回的js代码经过浏览器执行又会生成新的cookie,这两个cookie一起发送给服务器,才会返回正确的网页内容。
  • 解决方法:
    通过python的 execjs 执行返回的js,拿到新的cookie,和第一次请求的cookie一起发送给服务器。
  • 具体操作:

    response = self.session.get(self.cookie_url)
    js_code1 = response.text
    print(js_code1)
    print(response.cookies)

    输出

    
    ]>
    

    对这段代码进行js反混淆,得到

    
    

    对js代码进行格式化处理,再调用python的execjs执行这段代码,如下所示:

    js_code1 = js_code1.rstrip('\n')
    js_code1 = js_code1.replace('', '')
    js_code1 = js_code1.replace('
                        
                        

你可能感兴趣的:(python,网页爬虫)