Wie vermeide ich Kratzer?

8

Wir haben eine durchsuchbare Datenbank (DB), wir beschränken die Ergebnisse auf 15 pro Seite und nur auf 100 Ergebnisse, aber die Leute versuchen immer noch, die Site zu kratzen .

Wir verbieten Websites, die es schnell genug erreichen. Ich habe mich gefragt, ob wir noch etwas tun können. Flash rendern die Ergebnisse vielleicht?

Randin
quelle
Stellen Sie sicher , dass Sie eine robots.txt haben ... ja , ich weiß , nicht jeder ehrt es .. aber einige immer noch
trent

Antworten:

6

Sie könnten es etwas schwieriger machen, indem Sie die Datensätze über AJAX abrufen und eine Authentifizierungs-ID (wie einen API-Schlüssel) für die AJAX-Aufrufe verwenden.

Natürlich können Sie dies umgehen, indem Sie die ID lesen und dann die AJAX-Anfrage damit stellen.

Das Rendern mit Flash ist eine Alternative, wie Sie bereits betont haben (obwohl es immer noch nicht zu 100% nicht verschrottbar ist), ebenso wie das Rendern in PDF.

Ivan
quelle
13

Haben Sie darüber nachgedacht, Ihre Datenbank umzudrehen und das bereitzustellen, was die Schaber wollen, da offensichtlich eine Nachfrage nach Ihrer Datenbank besteht? Eine Geschäftsverbindung mit den Schabern herstellen und eine angemessene Verwendung mit einer API fördern?

John McC
quelle
1
Ja, ich liebe APIs
Isaac Waller
+1 Sie können sogar eine geringe Gebühr für die API-Nutzung erheben und ein paar Buchs von den Scraper-Kunden machen
Sander Marechal
Ja, wir richten einen Timer ein und verbieten, wenn die Seiten zu schnell aufgerufen wurden. Soweit es unwahrscheinlich erscheint, die Informationen zu verkaufen, haben sie diese Informationen in der Vergangenheit verwendet, um sie auf eine andere Website zu stellen und Klickeinnahmen zu erzielen.
Randin
4

Es gibt keine technologische Lösung, die eine motivierte Person daran hindert, Ihre öffentlich zugänglichen Inhalte zu kratzen.

Sie können Ihr geistiges Eigentum jedoch rechtlich schützen, indem Sie:

  • Stellen Sie sicher, dass Ihre Website ein eindeutig gekennzeichnetes Urheberrecht hat
  • Veröffentlichen von Nutzungsbedingungen in der Fußzeile, die das Schaben eindeutig verbieten
  • Erwägen Sie, ein digitales Wasserzeichen in den gesamten Inhalt Ihrer Website einzubetten. Vergessen Sie nicht, dass Text auch mit einem Wasserzeichen versehen werden kann!
Portman
quelle
2

Wie wäre es mit dem Einrichten der Authentifizierung (und möglicherweise Captcha), dem Verfolgen der Nutzung und dem Einschränken des Zugriffs auf eine bestimmte Anzahl von Datensätzen oder Suchen in einem bestimmten Zeitraum?

Tomjedrz
quelle
1

Sie werden wahrscheinlich feststellen, dass die Schaber ihre Wirkung verbessern, wenn Sie verschiedene Techniken anwenden. Vielleicht gibt es eine Möglichkeit, das Verhalten von Benutzern zu analysieren, die ein Captcha oder eine andere Störung kratzen und präsentieren? Vielleicht könnten Sie die Ergebnisse für einen bestimmten Zeitraum auf eine kleinere Anzahl beschränken, um die Schaber zu zwingen, 10 Tage zu warten. Wenn sie sich nicht zwischendurch anmelden, nehmen sie dann an, dass sie Scaper sind?

Was auch immer Sie tun, stellen Sie sicher, dass Sie Ihre Techniken mischen, um ihnen etwas mehr Langlebigkeit zu verleihen.

Brian Lyttle
quelle
1

Sie müssen berücksichtigen, dass die Scraper Ihre Webseiten und Formulare möglicherweise nicht verwenden, sondern Ihre Website möglicherweise nur auf http-Ebene aufrufen.

Ich denke, dass die beste Lösung darin besteht, einen Catchpa zu erstellen, nachdem eine IP-Adresse mehr als einen bestimmten Anforderungsschwellenwert angefordert hat.

Sie müssen jedoch SEHR vorsichtig sein, um sicherzustellen, dass Sie die Skalierbarkeit Ihrer Anwendung für echte Benutzer nicht beeinträchtigen.

Wenn Sie die in der Frage beschriebene Datenmenge pro Seite begrenzen, erhöht sich nur die Anzahl der Anforderungen, die die Clients an Ihren Server stellen.

Bruce McLeod
quelle