採集就是使用站羣程序通過自動化操作複製資料。
首先説明,只要是能讓瀏覽器訪問的,就沒有不能採集的。
但是可以通過一定的手段讓採集變得非常麻煩,進而在大量資料的情況下延遲採集完成時間,加大采集難度。
一般的情況略過不説,幾種情況比較特別的:
1 、驗證來路,cookie,session 這些,比如 PHP 可以用 fsockopen 自定義 HTTPHeader,基本上這些方法沒什麼效果。
2 、限速,限制某段時間內開啓頁面數量。這個只是推遲了下,大部分時間效果一般。比如某站限制一分鐘之內只能開啓 30 個網頁,頁面大小平均 30K,則用迅雷批量下載就 OK 了,設定限速為 2K,一覺醒來什麼都好了。這個方法效果也基本沒有。
3 、比較特別的方法,設定一個數量級的閥值,達到這樣數量後,必須驗證方能繼續,比如開啓 10 個頁面需要輸入驗證碼,這個時候只需要保證驗證碼不可識別,分配一個 session,以後的瀏覽過程中用 session 保證多用户合法性,這樣不影響後續訪問,同時可以有效防止採集。
4 、第三條對蜘蛛是致命的,此時可通過手機蜘蛛 IP 段,放行,其它的按照嚴格規則來。
5 、 3+4 真是無敵的嗎? 遠非可以高枕無憂,比如此站有 10 萬個頁面,則設定 100 個代理,在閥值前回圈使用代理,這樣實際上繞過了 3 的限制。
6 、還有別的辦法嗎? 不能,因為你的網站能用瀏覽器開啓。