企查查,一个查询企业信息的网站,这个网站也是网络爬虫选择采集的对象,这个网站反爬提别厉害,没有一定的爬虫技术,是无法采集成功的。
网络爬虫从企查查采集企业信息,如果想要看到完成的企业信息就需要登录后点击详情才能看到信息,但是只能看到部分的信息,但是登录就会出现验证码,如果是爬虫行为就很容易被识别出来。这时候就需要使用爬虫代理IP 去解决,登陆之后获取企业信息的页面源码,解析所采集的数据,获取到企业的名称和数据代码,处理好验证码,避免爬虫行为被限制,大部分网站均限制了IP的访问量,对于爬虫频繁访问,导致被网站限制,我们还可以通过使用爬虫代理来解决。然后将采集的数据信息保存到文件中即可。
简单来说采集企查查的步骤很简单:
1、使用爬虫代理
2、采集企业信息页面
3、解析所采集的数据
4、储存采集的数据信息
以下是采集企查查的代码仅供参考:
#! -*- encoding:utf-8 -*-
import requests
import random
import requests.adapters
# 要访问的目标页面
targetUrlList = [
"https://httpbin.org/ip",
"https://httpbin.org/headers",
"https://httpbin.org/user-agent",
]
# 代理服务器(产品官网 www.16yun.cn)
proxyHost = "t.16yun.cn"
proxyPort = "31111"
# 代理隧道验证信息
proxyUser = "username"
proxyPass = "password"
proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
"host": proxyHost,
"port": proxyPort,
"user": proxyUser,
"pass": proxyPass,
}
# 设置 http和https访问都是用HTTP代理
proxies = {
"http": proxyMeta,
"https": proxyMeta,
}
# 访问三次网站,使用相同的Session(keep-alive),均能够保持相同的外网IP
s = requests.session()
# 设置cookie
cookie_dict = {"JSESSION":"123456789"}
cookies = requests.utils.cookiejar_from_dict(cookie_dict, cookiejar=None, overwrite=True)
s.cookies = cookies
for i in range(3):
for url in targetUrlList:
r = s.get(url, proxies=proxies)
print r.text