新型的代理ip池 aox_proxy_pool
私信小編007 即可獲取數(shù)十套PDF以及大量的學(xué)習(xí)教程哦!
在這篇文章之前, 應(yīng)該不少人都看過很多搭建代理ip池的文章, 然后發(fā)現(xiàn)都是坑, 無法使用。說的比較多的 1. 推薦買xx家的代理ip, 賊穩(wěn)定, 好使(廣告) 2. 抓取xx免費(fèi)代理ip, 然后自己寫一個校驗(yàn), 然后寫一個api, 提供給爬蟲使用
第一種方法就不說了, 真的存在幾家不錯的代理ip(別問我誰家的好, 我不知道, 我寫這篇文章就為了推銷我自己寫的項(xiàng)目好伐)
第二種, github上這種項(xiàng)目海了去了, 絕大部分, 在你搭建好以后, 發(fā)現(xiàn)爬蟲還是爬不動, 免費(fèi)代理ip根本無法使用的好伐!稍微好點(diǎn)的haipproxy, 我也用過, 但是不解決根本問題! 絕大部分ip失效太快了! 而且各種錯誤, 爬十個頁面, 能成功一個都算燒高香了。
那么, 到底為啥免費(fèi)的代理ip不好使呢? 還有很多人都問到, 那些代理ip商真的有那么多ip么?
其實(shí)不是, 免費(fèi)代理ip很多都是掃出來的, 掃ip段, 端口, 特征碼。發(fā)現(xiàn)可以使用, 那就是代理ip。
代理ip不好用, 一般是因?yàn)橐韵聨讉€原因 1. 掃到的代理ip是臨時的 2. 訪問量太大, 服務(wù)器都掛了 3. 本來就不是代理ip 4. 有驗(yàn)證 5. 本來是http的代理, 你用來訪問https, 那當(dāng)然不行了! 6. 代理異常, 連接中斷, 帶寬被沾滿, 返回錯誤。
如果不想花錢, 那么就只能自己找到穩(wěn)定的代理ip, 然后來使用。 而一般的代理池, 都是拿百度、知乎阿、豆瓣阿啥的網(wǎng)址訪問, 成了說明能用, 不成就是失敗。最多加個分值計(jì)算什么的。
之前看了下haipproxy的代碼, 成功率高就得自己寫驗(yàn)證, 說白了, 在爬蟲使用之前, 先嘗試訪問下, 來提高成功率, 我覺得意義不大。
上面都廢話, 以下才是主要的其實(shí)免費(fèi)代理ip中, 有極少數(shù)的一部分, 是非常穩(wěn)定的代理服務(wù)器, 所以這些服務(wù)器就可以長期用來使用。
我抓取到的免費(fèi)的代理ip, 中, 過濾后剩下的ip的訪問成功率基本在90%+
第一、其實(shí)最簡單的方式就是根據(jù)服務(wù)器開放的端口來判斷, 如果服務(wù)器有開放80, 3389, 3306, 22之類的端口, 那么說明服務(wù)器還有別的服務(wù)在運(yùn)行, 掛掉的幾率很小, 如果是政府、學(xué)校的服務(wù)器, 那么更加穩(wěn)定。當(dāng)然也有可能開放別的端口
第二、服務(wù)器的訪問速度判斷, 需要訪問多個不同的網(wǎng)址, 來取平均數(shù), 這樣的訪問速度才比較穩(wěn)
第三、代理ip的存活時間, 越長越穩(wěn)定, 當(dāng)然這個是在你搭建抓取后, 來進(jìn)行計(jì)算。
第四、代理類型的重新檢測, 通過訪問不同的http和https網(wǎng)站, 判斷代理到底是http還是https, 并且進(jìn)行劃分, http的代理, 那就訪問http網(wǎng)址的時候使用, https的代理給https訪問提供服務(wù), 這樣訪問的幾率才能提高。
所以根據(jù)這幾點(diǎn), 我重新寫了一套代理ip池的項(xiàng)目, 目前抓取ip 4500+, 長期穩(wěn)定的ip在60+左右, 雖然少,但是相當(dāng)穩(wěn)定。