從前面的我講的採集原理大家可以看出,絕大多數採集程序都是靠分析規則來進行採集的,如分析分頁文件名規則、分析頁面代碼規則。
一、分頁文件名規則防採集對策
大部分採集器都是靠分析分頁文件名規則,進行批量、多頁採集的。如果別人找不出你的分頁文件的文件名規則,那麼別人就無法對你的網站進行批量多頁採集。
實現方法:
我認為用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個頁面顯示,也是加大採集難度的方法