在采集数据的时候我们为了更有效的采集大量的数据就选择添加代理ip,但是有时候我们的爬虫程序添加了代理,我们并不知道程序是否获取到了ip,尤其是在使用不是通过api直接去获取ip的动态转发模式时。这时候就需要进行检测了,以下是一种代理是否伪装成功的检测方式,借鉴了亿牛云提供的代码示例。 Python¶ requests #! -*- encoding:utf-8 -*- import requests import random # 要访问的目标页面 targetUrl = "http://httpbin.org/ip" # 要访问的目标HTTPS页面 # targetUrl = "https://httpbin.org/ip" # 代理服务器 proxyHost = "t.16yun.cn" proxyPort = "31111" # 代理隧道验证信息 proxyUser = "16ZKBRLB" proxyPass = "234076" 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
|