天天看點

如何搭建穩定的代理ip池, 供爬蟲使用

新型的代理ip池aox_proxy_pool

如何搭建穩定的代理ip池, 供爬蟲使用

在這篇文章之前, 應該不少人都看過很多搭建代理ip池的文章, 然後發現都是坑, 無法使用。說的比較多的

推薦買xx家的代理ip, 賊穩定, 好使(廣告)

抓取xx免費代理ip, 然後自己寫一個校驗, 然後寫一個api, 提供給爬蟲使用

第一種方法就不說了, 真的存在幾家不錯的代理ip(别問我誰家的好, 我不知道, 我寫這篇文章就為了推銷我自己寫的項目好伐)

第二種, github上這種項目海了去了, 絕大部分, 在你搭建好以後, 發現爬蟲還是爬不動, 免費代理ip根本無法使用的好伐!稍微好點的haipproxy, 我也用過, 但是不解決根本問題! 絕大部分ip失效太快了! 而且各種錯誤, 爬十個頁面, 能成功一個都算燒高香了。

那麼, 到底為啥免費的代理ip不好使呢?

還有很多人都問到, 那些代理ip商真的有那麼多ip麼?

其實不是, 免費代理ip很多都是掃出來的, 掃ip段, 端口, 特征碼。發現可以使用, 那就是代理ip。

代理ip不好用, 一般是因為以下幾個原因

掃到的代理ip是臨時的

通路量太大, 伺服器都挂了

本來就不是代理ip

有驗證

本來是http的代理, 你用來通路https, 那當然不行了!

代理異常, 連接配接中斷, 帶寬被沾滿, 傳回錯誤。

如果不想花錢, 那麼就隻能自己找到穩定的代理ip, 然後來使用。

而一般的代理池, 都是拿百度、知乎阿、豆瓣阿啥的網址通路, 成了說明能用, 不成就是失敗。最多加個分值計算什麼的。

之前看了下haipproxy的代碼, 成功率高就得自己寫驗證, 說白了, 在爬蟲使用之前, 先嘗試通路下, 來提高成功率, 我覺得意義不大。

上面都廢話, 以下才是主要的

其實免費代理ip中, 有極少數的一部分, 是非常穩定的代理伺服器, 是以這些伺服器就可以長期用來使用。

我抓取到的免費的代理ip, 中, 過濾後剩下的ip的通路成功率基本在90%+

第一、其實最簡單的方式就是根據伺服器開放的端口來判斷, 如果伺服器有開放80, 3389, 3306, 22之類的端口, 那麼說明伺服器還有别的服務在運作, 挂掉的幾率很小, 如果是政府、學校的伺服器, 那麼更加穩定。當然也有可能開放别的端口

第二、伺服器的通路速度判斷, 需要通路多個不同的網址, 來取平均數, 這樣的通路速度才比較穩

第三、代理ip的存活時間, 越長越穩定, 當然這個是在你搭建抓取後, 來進行計算。

第四、代理類型的重新檢測, 通過通路不同的http和https網站, 判斷代理到底是http還是https, 并且進行劃分, http的代理, 那就通路http網址的時候使用, https的代理給https通路提供服務, 這樣通路的幾率才能提高。

是以根據這幾點, 我重新寫了一套代理ip池的項目, 目前抓取ip 4500+, 長期穩定的ip在60+左右, 雖然少,但是相當穩定。

如何搭建穩定的代理ip池, 供爬蟲使用