亿牛云爬虫代理设自主切换IP的方案
1、自主切换IP¶
该模式适合一些需要登陆、Cookie缓存处理等爬虫需要精确控制IP切换时机的业务。 爬虫程序可以通过设置HTTP头Proxy-Tunnel: 随机数, 当随机数相同时,访问目标网站的代理IP相同。
例如
需要登录,获取数据两个请求在一个IP下,只需对这组请求设置相同Proxy-Tunnel,例如:Proxy-Tunnel: 12345, 该组请求在代理有效期内使用相同的代理IP。
注意
同一时间不同请求组可以设置不同Proxy-Tunnel: 随机数,并发完成数据爬取。
使用相同IP访问HTTPS目标网站
1 使用Connection: keep-alive和Proxy-Connection: keep-alive方式访问目标网站,代理会确保在一个会话中的所有请求都通过一个IP到达目标网站 2 设置相同Proxy-Tunnel,有些库封装比较高层次,请务必确认向代理发送了该HTTP头。
2、TCP请求切换IP(KeepAlive)¶
每个TCP请求自动切换,是指爬虫代理为爬虫程序发出的每个TCP请求随机提供一个代理IP,该模式适合需要多个session使用相同IP的连续性访问。
例如
需要登录,获取数据两个请求在一个IP下,只需保证该组请求在一个TCP会话下, 该组请求在代理有效期内使用相同的代理IP。
3、用户密码认证¶
通过用户名和密码的形式进行身份认证,该认证信息最终会转换为Proxy-Authorization 协议头跟随请求一起发出,同时支持通过Authorization协议头进行隧道身份验证。 如用户认证错误,系统会返回401 Unauthorized 或 407 Proxy Authentication Required。
例如
在代码中使用HTTP隧道时,如果代码的 HTTP 请求方法不支持以用户名/密码的形式设置身份认证信息, 则需要手动为每个 HTTP 请求增加Proxy-Authorization协议头, 其值为 Basic 。其中 为 “用户名” 和 “密码” 通过 : 拼接后, 再经由 BASE64 编码得到的字符串。 正确设置后,发出的请求都将包含如下格式的 HTTP 协议头信息: Proxy-Authorization: Basic MTZZVU4xMjM6MTIzNDMyMw==
注意
建议使用Proxy-Authorization 进行用户密码认证。如果使用Authorization,该HTTP头信息会随请求发送到目标网站。 访问HTTPS网站时,请使用库自带的代理认证方式,手动设置的Proxy-Authorization协议头,在访问HTTPS网站的情况下,会被代理直接转发到目标网站,导致匿名失效。
域名解析失败
爬虫代理域名ttl时间比较短【多机多地热备】,如遇到解析爬虫代理的域名失败,建议使用 114.114.114.114 或运营商的dns来做DNS解析。
- 浅析分布式爬虫使用代理IP的几种方案
- Windows上利用Python自动切换代理IP的终极方案!
- Windows上利用Python自动切换代理IP的终极方案!
- 如何使用http/https代理ip 纯手工浏览器(ie 360 谷歌 遨游等等)使用代理Ip 爬虫(python java)如何使用代理ip 附加免费代理ip池
- 第三百二十九节,web爬虫讲解2—urllib库爬虫—ip代理—用户代理和ip代理结合应用
- 爬虫知识5:常见反爬虫机制——User-Agent和代理IP设置
- GuozhongCrawler看准网爬虫动态切换IP漫爬虫
- 关于网络爬虫及ip代理服务的理解
- Python爬虫获取代理ip及端口
- python IP代理爬虫,download 代理IP
- Python3 爬虫使用User Agent和代理IP隐藏身份
- Python:爬虫使用代理防封IP:HTTP Error 403: Forbidden
- 爬虫获取代理IP并检验可用性与识别指纹
- python爬虫的代理IP设置
- 关于爬虫IP代理以及日常维护
- python之爬虫的入门04------爬虫代理ip、保存为CSV表格
- python3实现网络爬虫(7)-- 使用ip代理抓取网页
- python selenium 爬虫,使用代理 ,和 python 爬取代理网站,保存ip
- Python数据抓取爬虫代理防封IP方法
- python爬虫-python 利用代理ip访问网页(requests)