设置代理IP的缘由api
咱们在使用Python爬虫爬取一个网站时,一般会频繁访问该网站。假如一个网站它会检测某一段时间某个IP的访问次数,若是访问次数过多,它会禁止你的访问。因此你能够设置一些代理服务器来帮助你作工做,每隔一段时间换一个代理,这样便不会出现由于频繁访问而致使禁止访问的现象。服务器
咱们在学习Python爬虫的时候,也常常会碰见所要爬取的网站采起了反爬取技术致使爬取失败。高强度、高效率地爬取网页信息经常会给网站服务器带来巨大压力,因此同一个IP反复爬取同一个网页,就极可能被封,因此下面这篇文章讲述一个爬虫技巧,设置代理IP网络
代理的获取有不少方式,网上有不少免费的能够去爬取一些试试,可是免费的代理使用起来也是 很吃力的。还有就是如今网上有不少的代理供应商,能够在网上寻找下,而后找家靠谱的使用。毕竟网络太大了,代理供应商确定也是良莠不齐的,因此找到合适的代理仍是须要花点时间的。在这里我就是使用了咱们长期使用的一家质量好的代理,亿牛云代理,并且是使用的他们的爬虫代理(动态转发)和通常的api模式不同。这种更简单更方便,对于懒人来讲绝对是最佳选择。dom
具体代码的使用学习
#! -*- encoding:utf-8 -*-网站
import requestsspa
import random代理
# 要访问的目标页面code
targetUrl = "http://httpbin.org/ip"ip
# 要访问的目标HTTPS页面
# targetUrl = "https://httpbin.org/ip"
# 代理服务器
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
总结
以上就是这篇文章的所有内容了,但愿本文的内容对你们的学习或者工做具备必定的参考学习价值,若是有疑问你们能够留言交流