Angenommen, eine Datenquelle setzt eine enge IP-basierte Drosselung fest. Wäre es einem Web-Scraper möglich, die Daten herunterzuladen, wenn die Drosselung bereits 1% der heruntergeladenen Daten ablehnt?
Die einzige Technik, die ich von einem Hacker halten könnte, wäre hier eine Art Proxy-System. Aber es sieht so aus, als ob die Proxies (selbst wenn sie schnell wären) irgendwann alle das Gas erreichen würden.
Update: Einige Leute unten haben große Proxy-Netzwerke wie Yahoo Pipes und Tor erwähnt, aber könnten diese IP-Bereiche oder bekannte Exit-Knoten auch nicht auf der schwarzen Liste stehen?
Eine Liste von Tausenden oder Paxies kann für FREE zusammengestellt werden. IPv6-Adressen können für Pennies gemietet werden. Hell könnte ein Angreifer eine Amazon EC2-Mikroinstanz für 2-7 Cent pro Stunde booten.
Und Sie möchten die Leute davon abhalten, Ihre Website zu scrapen? Das Internet funktioniert nicht so, und hoffentlich wird es nie.
(Ich habe gesehen, dass IRC-Server einen Port-Scan auf Clients durchführen, um zu sehen, ob die folgenden Ports geöffnet sind: 8080,3128,1080. Allerdings gibt es Proxy-Server, die unterschiedliche Ports verwenden und es gibt auch legitime Gründe, Proxy-Server zu betreiben Diese Ports können geöffnet werden, als ob Sie Apache Tomcat ausführen würden.Sie könnten mit der Verwendung von YAPH einen Schritt nach oben machen, um zu sehen, ob ein Client einen Proxy-Server betreibt.In Wirklichkeit würden Sie auch einen Angreifer gegen sie verwenden;)
Jemand, der Tor verwendet, würde alle paar Minuten IP-Adressen hüpfen lassen. Ich habe früher eine Website betrieben, wo dies ein Problem war, und habe immer versucht, die IP-Adressen von bekannten Tor-Exit-Knoten zu blockieren, wenn übermäßiges Scraping entdeckt wurde. Sie können dies implementieren, wenn Sie eine regelmäßig aktualisierte Liste von Tor-Ausgangsknoten finden, zum Beispiel Ссылка
Sie können ein P2P-Crawling-Netzwerk verwenden, um diese Aufgabe auszuführen. Es wird eine Menge IPs geben und es wird kein Problem geben, wenn einer von ihnen gedrosselt wird. Außerdem können Sie viele Client-Instanzen mithilfe einiger Proxy-Konfigurationen kombinieren, wie in früheren Antworten vorgeschlagen.
Ich denke, Sie können YaCy , ein P2P-Opensource-Crawling-Netzwerk verwenden.
Ich habe von Leuten gehört, die Yahoo Pipes solche Dinge tun, hauptsächlich mit Yahoo als Proxy, um die Daten zu ziehen.
Es hängt von der Zeit ab, die der Angreifer zum Abrufen der Daten benötigt. Wenn die meisten Daten statisch sind, könnte es für einen Angreifer interessant sein, seinen Scraper für beispielsweise 50 Tage zu laufen. Wenn er an einer DSL-Leitung ist, wo er zweimal am Tag eine "neue" IP-Adresse anfordern kann, würde ihm eine 1% -Grenze nicht so viel schaden.
Wenn Sie die Daten schneller benötigen (weil sie schnell veraltet sind), gibt es natürlich bessere Möglichkeiten (verwenden Sie EC2-Instanzen, richten Sie ein BOINC-Projekt ein, wenn ein öffentliches Interesse an den gesammelten Daten besteht.) / p>
Oder haben Sie ein Pyramid-Schema a la "Holen Sie sich 10 Leute, um meinen Crawler laufen zu lassen und Sie bekommen PORN, oder 100 Leute kriegen es und Sie bekommen VIEL PORN", wie es vor ein paar Jahren ziemlich üblich war. gefüllte Webseiten. Aufgrund der Konkurrenz (wer die meisten Empfehlungen erhält), können Sie schnell eine Menge Knoten bekommen, die Ihren Crawler für sehr wenig Geld laufen lassen.
Tags und Links security http web-scraping