Blockieren der Website-Scraping von Google Text & Tabellen

9

Ich betreibe eine Website, die verschiedene Daten im Diagramm- / Tabellenformat für die Leser zur Verfügung stellt. Kürzlich habe ich festgestellt, dass die Anfragen an die Website, die von Google Docs stammen, zugenommen haben. Betrachtet man die IPs und den User Agent, scheint es von Google-Servern zu stammen - Beispiel-IP-Lookup hier .

>

Die Anzahl der Treffer liegt im Bereich von 2.500 bis 10.000 Anfragen pro Tag.

Ich nehme an, dass jemand ein oder mehrere Google Tabellen erstellt hat, die Daten von meiner Website scrappen (möglicherweise unter Verwendung der IMPORTHTML Funktion oder ähnliches). Ich würde es vorziehen, dass dies nicht passiert ist (weil ich nicht wissen kann, ob die Daten richtig zugeordnet werden).

Gibt es eine bevorzugte Möglichkeit, um den von Google unterstützten / genehmigten Traffic zu blockieren?

Ich möchte lieber nicht basierend auf IP-Adressen blockieren, da sich das Blockieren von Google-Servern falsch anfühlt und zu zukünftigen Problemen oder IPs führen könnte. Im Moment blockiere ich (403 Status zurücksendend) basierend auf User Agent, der GoogleDocs oder docs.google.com enthält.

Der Traffic kommt derzeit hauptsächlich von 66.249.89.221 und 66.249.89.223, immer mit dem User-Agent Mozilla/5.0 (compatible; GoogleDocs; apps-spreadsheets; http://docs.google.com)

Als zweite Frage: Gibt es eine Möglichkeit, das Dokument oder seinen Kontoinhaber zu verfolgen? Ich habe Zugriff auf die URLs, auf die sie zugreifen, aber bei den Anfragen kann kaum etwas anderes passieren Proxy über die Google Docs-Server (kein Referer, Cookies oder andere ähnliche Daten in den HTTP-Protokollen).

Danke.

    
Peter Bailey 24.01.2017, 14:40
quelle

2 Antworten

4

Das Blockieren auf User-Agent ist eine großartige Lösung, da es scheinbar keine Möglichkeit gibt, einen anderen User-Agent zu setzen und trotzdem die INPUTHTML-Funktion zu verwenden - und da Sie gerne alle Anwendungen von Blätter, das ist perfekt.

Zusätzliche Gedanken, obwohl, wenn das Verbot voll ist, unangenehm erscheint:

  1. Rate limit es: wie Sie sagen, Sie erkennen, dass es hauptsächlich von zwei IP und immer mit dem gleichen Benutzer-Agent kommt, nur verlangsamen Sie Ihre Antwort. Solange die Anfragen seriell sind, können Sie Daten zur Verfügung stellen, und zwar bei einem Durchlauf, der ausreichen kann, um das Scraping zu verhindern. Verzögern Sie Ihre Antwort (auf vermutete Schaber) um 20 oder 30 Sekunden.

  2. Weiterleitung zum Bildschirm "Sie sind blockiert" oder Bildschirm mit "Standard" -Daten (d. h. scrapable, aber nicht mit aktuellen Daten). Besser als Basic 403, weil es dem Menschen sagt, dass es nicht zum Scraping ist, und dann können Sie sie zum Kauf von Zugriffen veranlassen (oder zumindest einen Schlüssel von Ihnen anfordern).

pbuck 10.04.2017, 04:19
quelle
0
___ tag123webscraping ___ Web Scraping ist der Prozess zum Extrahieren spezifischer Informationen von Websites, die nicht ohne weiteres eine API oder andere Methoden zur automatisierten Datenwiederherstellung bereitstellen. Fragen zu "Wie man mit Scraping anfängt" (z. B. mit Excel VBA) sollten * gründlich untersucht werden, da zahlreiche funktionale Codebeispiele verfügbar sind. Web-Scraping-Methoden umfassen Anwendungen von Drittanbietern, die Entwicklung von benutzerdefinierter Software oder sogar die manuelle Datenerfassung auf standardisierte Weise. ___ answer43314916 ___

Das Blockieren auf User-Agent ist eine großartige Lösung, da es scheinbar keine Möglichkeit gibt, einen anderen User-Agent zu setzen und trotzdem die INPUTHTML-Funktion zu verwenden - und da Sie gerne alle Anwendungen von Blätter, das ist perfekt.

Zusätzliche Gedanken, obwohl, wenn das Verbot voll ist, unangenehm erscheint:

  1. Rate limit es: wie Sie sagen, Sie erkennen, dass es hauptsächlich von zwei IP und immer mit dem gleichen Benutzer-Agent kommt, nur verlangsamen Sie Ihre Antwort. Solange die Anfragen seriell sind, können Sie Daten zur Verfügung stellen, und zwar bei einem Durchlauf, der ausreichen kann, um das Scraping zu verhindern. Verzögern Sie Ihre Antwort (auf vermutete Schaber) um 20 oder 30 Sekunden.

  2. Weiterleitung zum Bildschirm "Sie sind blockiert" oder Bildschirm mit "Standard" -Daten (d. h. scrapable, aber nicht mit aktuellen Daten). Besser als Basic 403, weil es dem Menschen sagt, dass es nicht zum Scraping ist, und dann können Sie sie zum Kauf von Zugriffen veranlassen (oder zumindest einen Schlüssel von Ihnen anfordern).

___ tag123googledocs ___ Fragen zur programmgesteuerten Interaktion mit Google Textverarbeitungsprogrammen. Fragen zur Verwendung der Webanwendung sollten in Web Applications Stack Exchange veröffentlicht werden. ___ tag123googlespreadsheet ___ Fragen zu Google Tabellen und zur programmgesteuerten Interaktion mit Google Tabellen. ___ qstnhdr ___ Blockieren der Website-Scraping von Google Text & Tabellen ___ qstntxt ___

Ich betreibe eine Website, die verschiedene Daten im Diagramm- / Tabellenformat für die Leser zur Verfügung stellt. Kürzlich habe ich festgestellt, dass die Anfragen an die Website, die von Google Docs stammen, zugenommen haben. Betrachtet man die IPs und den User Agent, scheint es von Google-Servern zu stammen - Beispiel-IP-Lookup hier .

>

Die Anzahl der Treffer liegt im Bereich von 2.500 bis 10.000 Anfragen pro Tag.

Ich nehme an, dass jemand ein oder mehrere Google Tabellen erstellt hat, die Daten von meiner Website scrappen (möglicherweise unter Verwendung der IMPORTHTML Funktion oder ähnliches). Ich würde es vorziehen, dass dies nicht passiert ist (weil ich nicht wissen kann, ob die Daten richtig zugeordnet werden).

Gibt es eine bevorzugte Möglichkeit, um den von Google unterstützten / genehmigten Traffic zu blockieren?

Ich möchte lieber nicht basierend auf IP-Adressen blockieren, da sich das Blockieren von Google-Servern falsch anfühlt und zu zukünftigen Problemen oder IPs führen könnte. Im Moment blockiere ich (403 Status zurücksendend) basierend auf User Agent, der %code% oder %code% enthält.

Der Traffic kommt derzeit hauptsächlich von 66.249.89.221 und 66.249.89.223, immer mit dem User-Agent %code%

Als zweite Frage: Gibt es eine Möglichkeit, das Dokument oder seinen Kontoinhaber zu verfolgen? Ich habe Zugriff auf die URLs, auf die sie zugreifen, aber bei den Anfragen kann kaum etwas anderes passieren Proxy über die Google Docs-Server (kein Referer, Cookies oder andere ähnliche Daten in den HTTP-Protokollen).

Danke.

    
___ antwort43319474 ___

Sie können das Problem erzwingen, indem Sie beim ersten Versuch einen Cookie setzen und nur dann eine Antwort ausliefern, wenn der Cookie vorhanden ist. Auf diese Weise funktionieren "einfache" Importe nicht wie in der ersten Anfrage, da der Cookie nicht vorhanden ist. Es ist also nichts, was von Dritten gelesen werden kann.

    
___
bluehipy 10.04.2017 09:26
quelle