1. 程式人生 > >億牛雲爬蟲代理設置自主切換IP的方案

億牛雲爬蟲代理設置自主切換IP的方案

dns 有效期 得到 其中 conn 遇到 keepal 取數據 導致

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的方案