不少防採集方法在施行的時候須要考慮是否影響搜索引擎對網站的抓取,因此先來分析下通常採集器和搜索引擎爬蟲採集有何不一樣。
相同點:
a. 二者都須要直接抓取到網頁源碼纔能有效工做,
b. 二者單位時間內會屢次大量抓取被訪問的網站內容;
c. 宏觀上來說二者IP都會變更;
d. 二者多沒耐心的去破解你對網頁的一些加密(驗證),好比網頁內容經過js文件加密,好比須要輸入驗證碼才能瀏覽內容,好比須要登陸才能訪問內容等。
不一樣點:
搜索引擎爬蟲先忽略整個網頁源碼腳本和樣式以及html標籤代碼,而後對剩下的文字部分進行切詞語法句法分析等一系列的複雜處理。而採集器通常是經過 html標籤特色來抓取須要的數據,在製做採集規則時須要填寫目標內容的開始標誌何結束標誌,這樣就定位了所須要的內容;或者採用對特定網頁製做特定的正則表達式,來篩選出須要的內容。不管是利用開始結束標誌仍是正則表達式,都會涉及到html標籤(網頁結構分析)。
而後再來提出一些防採集方法
一、限制IP地址單位時間的訪問次數
分析:沒有哪一個常人一秒鐘內能訪問相同網站5次,除非是程序訪問,而有這種喜愛的,就剩下搜索引擎爬蟲和討厭的採集器了。
弊端:一刀切,這一樣會阻止搜索引擎對網站的收錄
適用網站:不太依靠搜索引擎的網站
採集器會怎麼作:減小單位時間的訪問次數,減低採集效率
二、屏蔽ip
分析:經過後臺計數器,記錄來訪者ip和訪問頻率,人爲分析來訪記錄,屏蔽可疑Ip。
弊端:彷佛沒什麼弊端,就是站長忙了點
適用網站:全部網站,且站長可以知道哪些是google或者百度的機器人
採集器會怎麼作:打游擊戰唄!利用ip代理採集一次換一次,不過會下降採集器的效率和網速(用代理嘛)。
三、利用js加密網頁內容
Note:這個方法我沒接觸過,只是從別處看來
分析:不用分析了,搜索引擎爬蟲和採集器通殺
適用網站:極度討厭搜索引擎和採集器的網站
採集器會這麼作:你那麼牛,都豁出去了,他就不來採你了
四、網頁裏隱藏網站版權或者一些隨機垃圾文字,這些文字風格寫在css文件中
分析:雖然不能防止採集,可是會讓採集後的內容充滿了你網站的版權說明或者一些垃圾文字,由於通常採集器不會同時採集你的css文件,那些文字沒了風格,就顯示出來了。
適用網站:全部網站
採集器會怎麼作:對於版權文字,好辦,替換掉。對於隨機的垃圾文字,沒辦法,勤快點了。
五、用戶登陸才能訪問網站內容
分析:搜索引擎爬蟲不會對每一個這樣類型的網站設計登陸程序。據說採集器能夠針對某個網站設計模擬用戶登陸提交表單行爲。
適用網站:極度討厭搜索引擎,且想阻止大部分採集器的網站
採集器會怎麼作:製做擬用戶登陸提交表單行爲的模塊
六、利用腳本語言作分頁(隱藏分頁)
分析:仍是那句,搜索引擎爬蟲不會針對各類網站的隱藏分頁進行分析,這影響搜索引擎對其收錄。可是,採集者在編寫採集規則時,要分析目標網頁代碼,懂點腳本知識的人,就會知道分頁的真實連接地址。
適用網站:對搜索引擎依賴度不高的網站,還有,採集你的人不懂腳本知識
採集器會怎麼作:應該說採集者會怎麼作,他反正都要分析你的網頁代碼,順便分析你的分頁腳本,花不了多少額外時間。
七、防盜鏈措施(只容許經過本站頁面鏈接查看,如:Request.ServerVariables("HTTP_REFERER") )
分析:asp和php能夠經過讀取請求的HTTP_REFERER屬性,來判斷該請求是否來自本網站,從而來限制採集器,一樣也限制了搜索引擎爬蟲,嚴重影響搜索引擎對網站部分防盜鏈內容的收錄。
適用網站:不太考慮搜索引擎收錄的網站
採集器會怎麼作:假裝HTTP_REFERER嘛,不難。
八、全flash、圖片或者pdf來呈現網站內容
分析:對搜索引擎爬蟲和採集器支持性很差,這個不少懂點seo的人都知道
適用網站:媒體設計類而且不在乎搜索引擎收錄的網站
採集器會怎麼作:不採了,走人
九、網站隨機採用不一樣模版
分析:由於採集器是根據網頁結構來定位所須要的內容,一旦前後兩次模版更換,採集規則就失效,不錯。並且這樣對搜索引擎爬蟲沒影響。
適用網站:動態網站,而且不考慮用戶體驗。
採集器會怎麼作:一個網站模版不可能多於10個吧,每一個模版弄一個規則就好了,不一樣模版採用不一樣採集規則。若是多於10個模版了,既然目標網站都那麼費勁的更換模版,成全他,撤。
十、採用動態不規則的html標籤
分析:這個比較變態。考慮到html標籤內含空格和不含空格效果是同樣的,因此< div >和< div >對於頁面顯示效果同樣,可是做爲採集器的標記就是兩個不一樣標記了。若是次頁面的html標籤內空格數隨機,那麼
採集規則就失效了。可是,這對搜索引擎爬蟲沒多大影響。
適合網站:全部動態且不想遵照網頁設計規範的網站。
採集器會怎麼作:仍是有對策的,如今html cleaner仍是不少的,先清理了html標籤,而後再寫採集規則;應該用採集規則前先清理html標籤,仍是可以拿到所需數據。
總結:
一旦要同時搜索引擎爬蟲和採集器,這是很讓人無奈的事情,由於搜索引擎第一步就是採集目標網頁內容,這跟採集器原理同樣,因此不少防止採集的方法同時也阻礙了搜索引擎對網站的收錄,無奈,是吧?以上10條建議雖然不能百分之百防採集,可是幾種方法一塊兒適用已經拒絕了一大部分採集器了。php