2009-02-25 10 views
1

我正在建立一個電子商務網站,其中包含大量的產品數據庫。當然,Goggle會對網站的所有產品進行索引,這樣會很好。但如果一些競爭對手想要Web Scrap網站並獲得所有圖片和產品說明呢?我如何阻止網頁抓取沒有阻塞表現良好的機器人?

我在觀察一些有類似產品列表的網站,他們放置了一個驗證碼,所以「只有人類」才能讀取產品列表。缺點是...它對谷歌,雅虎或其他「表現良好」的機器人是不可見的。

回答

2

通過使用whois(在命令行或網站上)檢查訪客IP,您可以發現Google和其他人使用的IP地址。然後,一旦你積累了一大堆合法的搜索引擎,在沒有CAPTCHA的情況下讓它們進入你的產品列表。

+0

屏幕刮板不能僞造他們的IP非常容易? – 2009-09-17 02:29:46

1

由於潛在的屏幕縮放應用程序可能欺騙標頭中的用戶代理和HTTP引用程序(對於圖像),並使用類似於人類瀏覽器的時間表,因此無法完全停止專業刮板。但是,儘管如此,你仍然可以檢查這些東西,並防止不必要的刮擦。 我個人發現Captchas煩惱除了在網站上註冊之外的任何事情。

1

如果你擔心使用文本或圖像的競爭對手,如何水印或自定義的文本?

讓他們拍下你的照片,你會在他們的網站上看到你的標誌!

0

您可以嘗試的一種技術是「蜜罐」方法:可以通過採礦日誌文件通過一些簡單的腳本來完成。

基本過程是您通過尋找IP地址在非常短的時間內查看2+個不相關的產品,從而構建您自己的刮板IP「黑名單」。這些IP可能屬於機器。然後,您可以對它們進行反向查找,以確定它們是否很好(如GoogleBot或Slurp)或不好。

0

塊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.com2captcha.com承諾要解決什麼樣的驗證碼在幾秒鐘內。

請看看我們的wiki http://www.scrapesentry.com/scraping-wiki/我們寫了很多關於如何防止,檢測和阻止網頁刮板的文章。