我正在建立一個電子商務網站,其中包含大量的產品數據庫。當然,Goggle會對網站的所有產品進行索引,這樣會很好。但如果一些競爭對手想要Web Scrap網站並獲得所有圖片和產品說明呢?我如何阻止網頁抓取沒有阻塞表現良好的機器人?
我在觀察一些有類似產品列表的網站,他們放置了一個驗證碼,所以「只有人類」才能讀取產品列表。缺點是...它對谷歌,雅虎或其他「表現良好」的機器人是不可見的。
我正在建立一個電子商務網站,其中包含大量的產品數據庫。當然,Goggle會對網站的所有產品進行索引,這樣會很好。但如果一些競爭對手想要Web Scrap網站並獲得所有圖片和產品說明呢?我如何阻止網頁抓取沒有阻塞表現良好的機器人?
我在觀察一些有類似產品列表的網站,他們放置了一個驗證碼,所以「只有人類」才能讀取產品列表。缺點是...它對谷歌,雅虎或其他「表現良好」的機器人是不可見的。
通過使用whois(在命令行或網站上)檢查訪客IP,您可以發現Google和其他人使用的IP地址。然後,一旦你積累了一大堆合法的搜索引擎,在沒有CAPTCHA的情況下讓它們進入你的產品列表。
由於潛在的屏幕縮放應用程序可能欺騙標頭中的用戶代理和HTTP引用程序(對於圖像),並使用類似於人類瀏覽器的時間表,因此無法完全停止專業刮板。但是,儘管如此,你仍然可以檢查這些東西,並防止不必要的刮擦。 我個人發現Captchas煩惱除了在網站上註冊之外的任何事情。
如果你擔心使用文本或圖像的競爭對手,如何水印或自定義的文本?
讓他們拍下你的照片,你會在他們的網站上看到你的標誌!
您可以嘗試的一種技術是「蜜罐」方法:可以通過採礦日誌文件通過一些簡單的腳本來完成。
基本過程是您通過尋找IP地址在非常短的時間內查看2+個不相關的產品,從而構建您自己的刮板IP「黑名單」。這些IP可能屬於機器。然後,您可以對它們進行反向查找,以確定它們是否很好(如GoogleBot或Slurp)或不好。
也許我過於簡化了,但如果你擔心的是服務器的性能則提供了一個API將減少對刮削器的需求,並節省您的樂隊/寬處理器時間。
這裏列出其他的想法:
http://blog.screen-scraper.com/2009/08/17/further-thoughts-on-hindering-screen-scraping/
塊webscrapers是不容易的,它甚至更難試圖避免誤報。
無論如何,你可以添加一些netrange到白名單,並且不要向他們提供任何驗證碼。 所有那些衆所周知的抓取工具:Bing,Googlebot,Yahoo等等。抓取時總是使用特定的netranges,並且所有這些IP地址都解析爲特定的反向查找。
幾個例子:
谷歌 IP 66.249.65.32解析crawl-66-249-65-32.googlebot.com
兵 IP 157.55.39.139解析到MSNBot會-157- 55-39-139.search.msn.com
Yahoo IP 74.6.254.109解析爲h049.crawl.yahoo。淨
因此,讓我們說, '* .googlebot.com', '* .search.msn.com' 和 '* .crawl.yahoo.net' 地址應該被列入白名單。
有很多白名單可以在互聯網上實現。
說,我不相信驗證碼是針對先進的刮刀的解決方案,因爲服務,例如deathbycaptcha.com或2captcha.com承諾要解決什麼樣的驗證碼在幾秒鐘內。
請看看我們的wiki http://www.scrapesentry.com/scraping-wiki/我們寫了很多關於如何防止,檢測和阻止網頁刮板的文章。
屏幕刮板不能僞造他們的IP非常容易? – 2009-09-17 02:29:46