数据化时代,我们即使要做个小小的数据分析,也是需要抓取非常多的网页数据来分析结果,这单靠人工获取数据是不现实的,因此大家都是使用各种采集器或者直接使用爬虫去爬取数据的。就像无论互联网行业发展到何种地步,“资源”永远是任何互联网公司必不可少的弹药粮草,那么对于爬虫来说代理ip也是必不可少的弹药粮草。
几乎99%的爬虫工作者都会网上选择购买代理IP的方法去解决网站限制ip访问的困难,但是网上各种评测,让人眼花缭乱,其实都是广告软文,不要太过较真,选择代理IP要具体情况具体分析。一家稳定的,靠谱的代理商是很重要的,大家可以关注下亿牛云代理,长期和企业合作,有专业的团队支撑,一流的服务。提供的ip池比较大,定时更新,提供多种代理的使用方式,能满足客户的大量数据需求。
这里我们简单举例,使用亿牛云提供的爬虫代理动态转发模式去访问某个目标网站:
#! -*- encoding:utf-8 -*-
import requests
import random
# 要访问的目标页面
targetUrl = "http://httpbin.org/ip"
# 要访问的目标HTTPS页面
# targetUrl = "https://httpbin.org/ip"
# 代理服务器(产品官网 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,
}
# 设置IP切换头
tunnel = random.randint(1,10000)
headers = {"Proxy-Tunnel": str(tunnel)}
resp = requests.get(targetUrl, proxies=proxies, headers=headers)
print resp.status_code
print resp.text
关于更多的示例可以去官网了解,有了代理的辅助,网站限制ip的访问就不是什么大问题了。
若有收获,就点个赞吧