從前面的我講的采集原理大家可以看出,絕大多數采集程序都是靠分析規則來進行采集的,如分析分頁文件名規則、分析頁面代碼規則。
一、分頁文件名規則防采集對策
大部分采集器都是靠分析分頁文件名規則,進行批量、多頁采集的。如果別人找不出你的分頁文件的文件名規則,那麼別人就無法對你的網站進行批量多頁采集。
實現方法:
我認為用MD5加密分頁文件名是一個比較好的方法,說到這裡,有人會說,你用MD5加密分頁文件名,別人根據此規則也可以模擬你的加密規則得到你的分頁文件名。
我要指出的是我們加密分頁文件名時,不要只加密文件名變化的部分
如果I代表分頁的頁碼,那麼我們不要這樣加密:page_name=Md5(I,16)&".htm"
最好給要加密的頁碼上再跟進一個或多個字符,如:page_name=Md5(I&"任意一個或幾個字母",16)&".htm"
因為MD5是無法反解密的,別人看到的會頁字母是MD5加密後的結果,所以加人也無法知道你在 I 後面跟進的字母是什麼,除非他用暴力****MD5,不過不太現實。
二、頁面代碼規則防采集對策
如果說我們的內容頁面無代碼規則,那麼別人就無法從你的代碼中提取他們所需要的一條條內容。所以我們要的這一步做到防采集,就要使代碼無規則。
實現方法:
使對方需要提取的標記隨機化
1、定制多個網頁模板,每個網頁模板裡的重要HTML標記不同,呈現頁面內容時,隨機選取網頁模板,有的頁面用CSS+DIV布局,有的頁面用table布局,此方法是麻煩了點,一個內容頁面,要多做幾個模板頁面,不過防采集本身就是一件很煩瑣的事情,多做一個模板,能起到防采集的作用,對很多人來說,都是值得的。
2、如果嫌上面的方法太麻煩,把網頁裡的重要HTML標記隨機化,也可以。
做的網頁模板越多,html代碼越是隨機化,對方分析起內容代碼時,就越麻煩,對方針對你的網站專門寫采集策略時,難度就更大,在這個時候,絕大部分人,都會知難而退,因為這此人就是因為懶,才會采集別人網站數據嘛~~~再說一下,目前大部分人都是拿別人開發的采集程序去采集數據,自己開發采集程序去采集數據的人畢竟是少數。
還有些簡單的思路提供給大家:
1、把對數據采集者重要,而對搜索引擎不重要的內容用客戶端腳本顯示
2、把一頁數據,分為N個頁面顯示,也是加大采集難度的方法
3、用更深層的連接,因為目前大部分采集程序只能采集到網站內容的前3層,如果內容所在的連接層更深,也可以避免被采集。不過這樣可能會給客戶造成浏覽上的不便。如:
大多網站都是 首頁----內容索引分頁----內容頁
如果改成:
首頁----內容索引分頁----內容頁入口----內容頁
注:內容頁入口最好能加上自動轉入內容頁的代碼
<meta http-equiv="refresh" content="6;url=內容頁(http://www.xiaoqi.net)">
其實,只要做好防采集的第一步(加密分頁文件名規則),防采集的效果就已經不錯了,還是建議兩條反采集方法同時使用,給采集者增加采集難度,使得他們知難頁退。