python 反爬蟲策略


1.限制IP地址單位時間的訪問次數 :

   分析:沒有哪個常人一秒鍾內能訪問相同網站5次,除非是程序訪問,而有這種喜好的,就剩下搜索引擎爬蟲和討厭的采集器了。 
弊端:一刀切,這同樣會阻止搜索引擎對網站的收錄 
適用網站:不太依靠搜索引擎的網站 
采集器會怎么做:減少單位時間的訪問次數,減低采集效率

2.屏蔽ip 

分析:通過后台計數器,記錄來訪者ip和訪問頻率,人為分析來訪記錄,屏蔽可疑Ip。 
弊端:似乎沒什么弊端,就是站長忙了點 
適用網站:所有網站,且站長能夠知道哪些是google或者百度的機器人 
采集器會怎么做:打游擊戰唄!利用ip代理采集一次換一次,不過會降低采集器的效率和網速(用代理嘛)。

3。利用js加密網頁內容 

  Note:這個方法我沒接觸過,只是從別處看來 
分析:不用分析了,搜索引擎爬蟲和采集器通殺 
適用網站:極度討厭搜索引擎和采集器的網站 
采集器會這么做:你那么牛,都豁出去了,他就不來采你了

4.網頁里隱藏網站版權或者一些隨機垃圾文字,這些文字風格寫在css文件中 

分析:雖然不能防止采集,但是會讓采集后的內容充滿了你網站的版權說明或者一些垃圾文字,因為一般采集器不會同時采集你的css文件,那些文字沒了風格,就顯示出來了。 
適用網站:所有網站 
采集器會怎么做:對於版權文字,好辦,替換掉。對於隨機的垃圾文字,沒辦法,勤快點了。

5.用戶登錄才能訪問網站內容 *

分析:搜索引擎爬蟲不會對每個這樣類型的網站設計登錄程序。聽說采集器可以針對某個網站設計模擬用戶登錄提交表單行為。 
適用網站:極度討厭搜索引擎,且想阻止大部分采集器的網站 
采集器會怎么做:制作擬用戶登錄提交表單行為的模塊

6、利用腳本語言做分頁(隱藏分頁) 

分析:還是那句,搜索引擎爬蟲不會針對各種網站的隱藏分頁進行分析,這影響搜索引擎對其收錄。但是,采集者在編寫采集規則時,要分析目標網頁代碼,懂點腳本知識的人,就會知道分頁的真實鏈接地址。
適用網站:對搜索引擎依賴度不高的網站,還有,采集你的人不懂腳本知識 
采集器會怎么做:應該說采集者會怎么做,他反正都要分析你的網頁代碼,順便分析你的分頁腳本,花不了多少額外時間。

7.防盜鏈措施 (只允許通過本站頁面連接查看,如:Request.ServerVariables(“HTTP_REFERER“) ) 
分析:asp和php可以通過讀取請求的HTTP_REFERER屬性,來判斷該請求是否來自本網站,從而來限制采集器,同樣也限制了搜索引擎爬蟲,嚴重影響搜索引擎對網站部分防盜鏈內容的收錄。 
適用網站:不太考慮搜索引擎收錄的網站 
采集器會怎么做:偽裝HTTP_REFERER嘛,不難。 

8、全flash、圖片或者pdf來呈現網站內容 
分析:對搜索引擎爬蟲和采集器支持性不好,這個很多懂點seo的人都知道 
適用網站:媒體設計類並且不在意搜索引擎收錄的網站 
采集器會怎么做:不采了,走人

9、網站隨機采用不同模版 
分析:因為采集器是根據網頁結構來定位所需要的內容,一旦先后兩次模版更換,采集規則就失效,不錯。而且這樣對搜索引擎爬蟲沒影響。 
適用網站:動態網站,並且不考慮用戶體驗。 
采集器會怎么做:一個網站模版不可能多於10個吧,每個模版弄一個規則就行了,不同模版采用不同采集規則。如果多於10個模版了,既然目標網站都那么費勁的更換模版,成全他,撤。

0、采用動態不規則的html標簽 
分析:這個比較變態。考慮到html標簽內含空格和不含空格效果是一樣的,所以<   div >和< div >對於頁面顯示效果一樣,但是作為采集器的標記就是兩個不同標記了。如果每次頁面的html標簽內空格數隨機,那么 
采集規則就失效了。但是,這對搜索引擎爬蟲沒多大影響。 
適合網站:所有動態且不想遵守網頁設計規范的網站。 
采集器會怎么做:還是有對策的,現在html cleaner還是很多的,先清理了html標簽,然后再寫采集規則;應該用采集規則前先清理html標簽,還是能夠拿到所需數據


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM