2009-02-25 6 views
1

Ich baue eine E-Commerce-Website mit einer großen Produktdatenbank auf. Natürlich ist es nett, wenn Goggle alle Produkte der Website indiziert. Aber was, wenn ein Konkurrent die Website will und alle Bilder und Produktbeschreibungen bekommt?Wie blockiere ich Web Scraping, ohne zu blockieren Gut benommene Bots?

Ich beobachtete einige Websites mit ähnlichen Listen von Produkten, und sie platzieren ein CAPTCHA, so "nur Menschen" können die Liste der Produkte lesen. Der Nachteil ist ... es ist unsichtbar für Google, Yahoo oder andere "gut erzogene" Bots.

Antwort

2

Sie können die IP-Adressen ermitteln, die Google und andere verwenden, indem Sie Besucher-IPs mit whois überprüfen (in der Befehlszeile oder auf einer Website). Dann, sobald Sie einen Vorrat von legitimen Suchmaschinen angesammelt haben, erlauben Sie sie in Ihre Produktliste ohne das CAPTCHA.

+0

Können die Screen Scraper ihre IPs außerordentlich leicht fälschen? –

+1

Nicht, wenn die HTTP-Antwort korrekt weitergeleitet werden soll. – Josh

1

Da eine potentielle Screen-Scaping-Anwendung den User-Agent und den HTTP-Referrer (für Bilder) im Header fälschen und einen Zeitplan verwenden kann, der einem menschlichen Browser ähnelt, ist es nicht möglich, professionelle Scraper vollständig zu stoppen. Aber Sie können trotzdem nach diesen Dingen suchen und lässiges Kratzen verhindern. Ich persönlich finde Captchas nervig für alles andere als sich auf einer Seite anzumelden.

1

Wenn Sie sich Sorgen um Konkurrenten machen, die Ihren Text oder Ihre Bilder verwenden, wie wäre es mit einem Wasserzeichen oder einem benutzerdefinierten Text?

Lassen Sie sie Ihre Bilder nehmen und Sie würden Ihr Logo auf ihrer Website haben!

0

Eine Technik, die Sie ausprobieren könnten, ist die "Honigtopf" -Methode: Es kann entweder durch Mining-Log-Dateien durch ein einfaches Scripting erfolgen.

Der grundlegende Prozess ist die Erstellung einer eigenen "Blacklist" von Scraper-IPs basierend auf der Suche nach IP-Adressen, die 2+ nicht verwandte Produkte in einem sehr kurzen Zeitraum betrachten. Wahrscheinlichkeiten sind diese IPs gehören Maschinen. Sie können dann eine umgekehrte Suche nach ihnen durchführen, um festzustellen, ob sie nett (wie GoogleBot oder Slurp) oder schlecht sind.

0

Block-webscrapers ist nicht einfach, und es ist noch schwieriger, versuchen, Fehlalarme zu vermeiden.

Wie auch immer, Sie können einige Netrange zu einer Whitelist hinzufügen und ihnen kein Captcha liefern. All diese bekannten Crawler: Bing, Googlebot, Yahoo usw. verwenden beim Crawlen immer bestimmte Netranges, und all diese IP-Adressen werden zu spezifischen Reverse-Lookups aufgelöst.

paar Beispiele:

Google IP 66.249.65.32 löst

Bing IP 157.55.39.139 löst zu msnbot-157- bis crawl-66-249-65-32.googlebot.com 55-39-139.search.msn.com

Yahoo IP 74.6.254.109 löst zu h049.crawl.yahoo.net

also lasst uns sagen, dass '* .googlebot.com', '* .search.msn.com' und '* .crawl.yahoo.net' Adressen der weißen Liste werden sollte.

Es gibt viele weiße Listen, die Sie im Internet implementieren können.

sagte, dass ich glaube nicht, dass Check Captcha eine Lösung gegen erweitern Schaber, da Dienstleistungen wie deathbycaptcha.com oder 2captcha.com Versprechen, jede Art von Captcha innerhalb von Sekunden zu lösen.

Bitte werfen Sie einen Blick in unser Wiki http://www.scrapesentry.com/scraping-wiki/ Wir haben viele Artikel geschrieben, wie man Web-Scraper vorbeugt, erkennt und blockiert.