1. 程式人生 > >爬蟲過程中如何構建代理IP池?

爬蟲過程中如何構建代理IP池?

做網路爬蟲時,一般對代理IP的需求量比較大。因為在爬取網站資訊的過程中,很多網站做了反爬蟲策略,可能會對每個IP做頻次控制。這樣我們在爬取網站時就需要很多代理IP。
代理IP的獲取,可以從以下幾個途徑得到:

  • 從免費的網站上獲取,質量很低,能用的IP極少
  • 購買收費的代理服務,質量高很多
  • 自己搭建代理伺服器,穩定,但需要大量的伺服器資源。

本文的代理IP池是通過爬蟲事先從多個免費網站上獲取代理IP之後,再做檢查判斷IP是否可用,可用的話就存放到MongoDB中,最後展示到前端的頁面上。
獲取可用Proxy
獲取代理的核心程式碼是ProxyManager,它採用RxJava2來實現,主要做了以下幾件事:
1、建立ParallelFlowable,針對每一個提供免費代理IP的頁面並行地抓取。
在這裡插入圖片描述


2、針對每一個頁面進行抓取,返回List
在這裡插入圖片描述
3、對每一個頁面獲取的代理IP列表進行校驗,判斷是否可用
在這裡插入圖片描述
在這裡插入圖片描述
在做爬蟲時,自己維護一個可用的代理IP池是很有必要的事情,當然想要追求更高穩定性的代理IP還是考慮購買比較好。