爬虫代理IP被应用到了很多的场景中,无论是对于家庭网络还是工作中的网络来说,为我们平时的工作提供了很多服务,有其是网络爬虫,爬虫代理IP更是不可缺少的一部分。面对网络上许多IP代理商,选择代理可以根据不同的使用方向进行选择。
更换爬虫代理IP是网络爬虫用户常遇到的事情,最简单高效的方法就是用代理IP,要使用代理IP。第一步需要获取代理IP的API连接,代理IP一般会以URL连接做为提取代理IP的API连接,着也是一般常见的通过API连接获取代理IP然后分配到程序上去做采集业务。对于一些网络爬虫用户来说,这种方式使用简单,也适合他们的业务、所以这也是获得动态IP的一种方式之一。获取和使用代理IP的方式也有许多中,通过API连接获取代理IP的方式只是其中一种。
HTTP代理IP还有一种使用方式,那就是隧道转发的爬虫代理加强版。此使用方式很简单。随带转发的爬虫代理加强版IP通过固定云代理服务地址,建立专线网络链接,代理平台自动实现毫秒级代理IP切换,保证了网络稳定性和速度,避免爬虫客户在代理IP策略优化上投入精力。只需要参考代理商家的代码demo修改调用接口,然后配置代理信息,直接发出请求请求获取数据即可。
代码语言:javascript复制 #! -*- 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