方法1
使用多IP代理:
1.IP必須需要,比如ADSL。如果有條件,其實(shí)可以跟機(jī)房多申請(qǐng)外網(wǎng)IP。
2.在有外網(wǎng)IP的機(jī)器上,部署代理服務(wù)器。
3.你的程序,使用輪訓(xùn)替換代理服務(wù)器來訪問想要采集的網(wǎng)站。
好處:
1.程序邏輯變化小,只需要代理功能。
2.根據(jù)對(duì)方網(wǎng)站屏蔽規(guī)則不同,你只需要添加更多的代理就行了。
3.就算具體IP被屏蔽了,你可以直接把代理服務(wù)器下線就OK,程序邏輯不需要變化。
在成都做網(wǎng)站、網(wǎng)站制作過程中,需要針對(duì)客戶的行業(yè)特點(diǎn)、產(chǎn)品特性、目標(biāo)受眾和市場(chǎng)情況進(jìn)行定位分析,以確定網(wǎng)站的風(fēng)格、色彩、版式、交互等方面的設(shè)計(jì)方向。成都創(chuàng)新互聯(lián)還需要根據(jù)客戶的需求進(jìn)行功能模塊的開發(fā)和設(shè)計(jì),包括內(nèi)容管理、前臺(tái)展示、用戶權(quán)限管理、數(shù)據(jù)統(tǒng)計(jì)和安全保護(hù)等功能。
方法2.
有小部分網(wǎng)站的防范措施比較弱,可以偽裝下IP,修改X-Forwarded-for(貌似這么拼。。。)即可繞過。 、
大部分網(wǎng)站么,如果要頻繁抓取,一般還是要多IP。
我比較喜歡的解決方案是國外vps再配多IP,通過默認(rèn)網(wǎng)關(guān)切換來實(shí)現(xiàn)IP切換,比HTTP代理高效得多,估計(jì)也比多數(shù)情況下的ADSL切換更高效?
方法3.
ADSL + 腳本,監(jiān)測(cè)是否被封,然后不斷切換 ip 設(shè)置查詢頻率限制
正統(tǒng)的做法是調(diào)用該網(wǎng)站提供的服務(wù)接口。?
方法4.
國內(nèi)ADSL是王道,多申請(qǐng)些線路,分布在多個(gè)不同的電信區(qū)局,能跨省跨市更好,自己寫好斷線重?fù)芙M件,自己寫動(dòng)態(tài)IP追蹤服務(wù),遠(yuǎn)程硬件重置(主要針對(duì)ADSL貓,防止其宕機(jī)),其余的任務(wù)分配,數(shù)據(jù)回收,都不是大問題。?
方法5.
1 user agent 偽裝和輪換
2 使用代理 ip 和輪換
3 cookies 的處理,有的網(wǎng)站對(duì)登陸用戶政策寬松些
友情提示:考慮爬蟲給人家網(wǎng)站帶來的負(fù)擔(dān),be a responsible crawler :)?
方法6.
盡可能的模擬用戶行為:
1、UserAgent經(jīng)常換一換;
2、訪問時(shí)間間隔設(shè)長一點(diǎn),訪問時(shí)間設(shè)置為隨機(jī)數(shù);
3、訪問頁面的順序也可以隨機(jī)著來 。?
方法7.
網(wǎng)站封的依據(jù)一般是單位時(shí)間內(nèi)特定IP的訪問次數(shù).
我是將采集的任務(wù)按 目標(biāo)站點(diǎn)的IP進(jìn)行分組
通過控制每個(gè)IP 在單位時(shí)間內(nèi)發(fā)出任務(wù)的個(gè)數(shù),來避免被封.
當(dāng)然,這個(gè)前題是你采集很多網(wǎng)站.如果只是采集一個(gè)網(wǎng)站,那么只能通過多外部IP的方式來實(shí)現(xiàn)了。?
方法8.
對(duì)爬蟲抓取進(jìn)行壓力控制;可以考慮使用代理的方式訪問目標(biāo)站點(diǎn)。
降低抓取頻率,時(shí)間設(shè)置長一些,訪問時(shí)間采用隨機(jī)數(shù)
頻繁切換UserAgent(模擬瀏覽器訪問)
多頁面數(shù)據(jù),隨機(jī)訪問然后抓取數(shù)據(jù) -更換用戶IP。?????