摘要:国家企业信用公示系统的爬取网站分析获取首页通过直接请求网站首页,返回错误提示码,返回结果是代码。验证码识别开发者文档代码结果查询企业在首页的源代码中,有一句注释伪造极验变量百度成功获取到结果链接国家企业信用公示系统爬取
国家企业信用公示系统的爬取 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(" ") js_code1 = js_code1.replace("", "") js_code1 = js_code1.replace("