您的位置:新闻资讯 >文章内容
爬虫代理设置自主切换IP的方案
来源:本站 作者:jinglingdaili 时间:2019-03-21 17:21:12

一、自主切换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头。


二、TCP请求切换IP(KeepAlive)

每个TCP请求自动切换,是指爬虫代理为爬虫程序发出的每个TCP请求随机提供一个代理IP,该模式适合需要多个session使用相同IP的连续性访问。


例如


需要登录,获取数据两个请求在一个IP下,只需保证该组请求在一个TCP会话下, 该组请求在代理有效期内使用相同的代理IP。


三、用户密码认证

通过用户名和密码的形式进行身份认证,该认证信息最终会转换为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解析。

相关文章内容简介
在线客服
大客户VIP渠道
点击这里给我发消息
讨论QQ群
HTTP代理IP爬虫
客服电话
13318873961