很多新入行爬虫的小伙伴不知道requests如何使用代理IP去抓取数据,今天我们就来简单的交流下。像亿牛云代理提供了两种模式的代理使用方式吗,分别是通过api连接获取代理ip,然后进行ip池的管理,还有一种就是动态转发模式,自动转发请求,使用简单,更方便。动态转发对ip白名单是没有进行限制的,这对一些爬虫机器很多的企业是最好的方式,我们以爬虫代理动态转发为例进行交流: #! -*- encoding:utf-8 -*- import requests import random # 要访问的目标页面 targetUrl = "http://httpbin.org/ip" # 要访问的目标HTTPS页面 # targetUrl = "https://httpbin.org/ip" # 代理服务器(产品官网 it帮论坛真好) 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当我们配置代理运行后会返回一系列响应状态码。 200 : 请求成功
301 : 永久重定向
403 : 服务器拒绝请求
404 : 请求失败(服务器⽆法根据客户端的请求找到资源
429:请求太多
|