Ich baue gerade eine Webspinne mit Java Apache Commons. Ich kriechen grundlegende Google-Suchanfragen wie https://google.com/search?q=word&hl=enHttp Get Request - Welche Daten werden tatsächlich gesendet?
Irgendwie nach ca. 60 Abfragen ich blockiert werden, es scheint, dass sie mich als Bot erkennen und ich bekomme eine 503 Service Unavailable Antwort
nun die wichtige Rolle: Wenn ich die gleiche Seite mit Firefox/Chrome besuche bekomme ich das gewünschte Ergebnis. Wenn ich eine GET-Anfrage mit meiner Anwendung unter Verwendung des gleichen HTTP-Headers (User-Agent, Cookies, Cache usw.) mache, bin ich immer noch blockiert.
WIE hat Google wissen, ob ich über Anwendung oder Chrome-Browser bin anschließen, wenn es nur die IP ist und die HTTP-Header-Informationen wie? (Vielleicht bin ich falsch?) Gibt es weitere Parameter meine App erkennen? Etwas, das Google sieht und ich nicht?
(Vielleicht wichtig: Ich bin mit Chrome Developer Tools und httpbin.org die Header von Browser und Anwendung zu vergleichen.)
Vielen Dank
Danke, wahrscheinlich das ist der Grund, warum ich zunächst blockiert wurde .. noch, wenn ich mache eine einzelne Anfrage von meiner App danach werde ich immer noch blockiert, während die Benutzung des Browsers gut funktioniert .. wie unterscheidet Google zwischen den beiden? – Schnurbert
Und welche Zeitspanne sollte ich zwischen einzelnen Anfragen warten .. Ich habe 5 + zufällige (5) Sekunden zuvor ausprobiert, aber trotzdem blockiert – Schnurbert
Einige Referenz Links zu der Antwort hinzugefügt – chongo2002