29 Punkte von xguru 2021-11-29 | 12 Kommentare | Auf WhatsApp teilen
<p>- Wenn man einen Dienst baut, der Google-Suchen in Millionenhöhe ausführt, braucht man eine Alternative, die nicht blockiert wird<br /> - Am einfachsten ist die Nutzung kostenpflichtiger Proxys, aber das ist ziemlich teuer <br /> → Deshalb ein unterhaltsamer Artikel, in dem der Autor detailliert erklärt, was er selbst ausprobiert hat<br /> <br /> - Zunächst wurde AWS Lambda + Puppeteer verwendet <br /> → AWS bietet weltweit 16 Regionen, und wenn man Lambda dreimal ausführt, wird eine neue IP zugewiesen <br /> → Wenn man gleichzeitig 1000 Lambdas ausführt, nutzt man etwa 250 öffentliche IPs<br /> → 16 Regionen * 250 ergibt 4000 IP-Adressen, und das reicht aus, um wöchentlich Google-Suchen im Millionenbereich auszuführen <br /> → Auch auf GCP ausprobiert, und kurioserweise blockiert Google die IPs seiner eigenen Cloud aggressiver als die von AWS<br /> → Das bezieht sich auf 2019–2020 und kann sich inzwischen geändert haben <br /> <br /> - Diese Methode kann zum Scraping von Google/Bing/Amazon usw. verwendet werden, hat aber Grenzen<br /> → Wenn Anti-Bot-Firmen wie DataDome, Akamai oder Imperva eingesetzt werden, ist sie nicht anwendbar <br /> → Über sehr unterschiedliche Methoden des Browser-Fingerprintings wird erkannt, ob es sich um einen Bot handelt<br /> → Google Picasso, Font/TLS/WebGL Fingerprinting..<br /> → Tatsächlich nutzen die meisten großen Scraping-Dienste Cloud + Docker-Container und sind daher leicht zu identifizieren<br /> <br /> - Schwer erkennbar und skalierbar: eine Scraping-Infrastruktur <br /> → Zwei Regeln für erfolgreiches Scraping <br /> 1. Browser-Einstellungen nicht vortäuschen <br /> 2. Am wichtigsten ist, Browser-Einstellungen nur dann vorzutäuschen, „wenn es wirklich niemand bemerkt“<br /> → Daraus folgt: Am besten verwendet man einfach „echte Geräte“<br /> ⇨ 500 günstige Android-Geräte von verschiedenen Herstellern kaufen und günstige Datentarife buchen<br /> ⇨ Auf mehrere Städte verteilen (in der Nähe von Antennen)<br /> ⇨ Open Source wie DeviceFarmer/stf nutzen, um die Geräte gleichzeitig zu steuern <br /> ⇨ Ein leichtgewichtiges OS wie Android Go installieren und alle 5 Minuten in den Flugmodus wechseln, um ständig neue IP-Adressen zu erhalten<br /> ⇨ „4G carrier grade NAT“: 4G-Carrier-Grade-NAT wurde entwickelt, um die Erschöpfung von IPv4-Adressen zu verhindern; da Hunderttausende sich eine IP teilen, ist Blockieren praktisch unmöglich<br /> → Man muss allerdings 500 Android-Geräte kaufen, einen Installationsort haben und die Hardware warten, also ist das ziemlich mühsam <br /> <br /> - Verbesserung: Android emulieren <br /> → Statt Android-Geräte zu kaufen, könnte man Android-X8, Bluestacks oder den Android Studio Emulator verwenden?<br /> → Proxidize ermöglicht den Aufbau von 4G-Mobil-Proxys<br /> → 50 4G-Dongles in einem Server installieren<br /> → Auf jedem Server 50–100 Android-Geräte emulieren <br /> → Diese Stationen in 5 Städten aufstellen <br /> → Diese Stationen mit soliden Kommandos verwalten </p>

12 Kommentare

 
xguru 2021-12-06
<p>- Bot-Erkennung umgehen: So betreibt man Web-Scraping, ohne blockiert zu werden https://de.news.hada.io/topic?id=5304<br /> <br /> Proxy-Server, Scraping-Dienste, Anti-Bot-Software usw. sind im obigen Beitrag gut zusammengefasst.</p>
 
eajrezz 2021-12-06
<p>Ein großartiger Hack!</p>
 
joone 2021-12-04
<p>https://www.diffbot.com/products/crawl/<br /> <br /> Es gibt auch einen Service, der Crawling durchführt und Webpages scrapt. Die gescrapten Daten werden ohne unnötige Informationen als JSON gespeichert.</p>
 
benjamin 2021-11-29
<p>Unglaublich...</p>
 
xguru 2021-11-29
<p>Ein ganz anderes Thema, aber … <br /> <br /> Es gibt auch Anbieter wie https://serpapi.com/, die Google-Suchen als API verkaufen. <br /> Hier werden allerdings auch Naver-Suchen als API mitverkauft, haha.<br /> https://serpapi.com/naver-search-api<br /> <br /> 30.000 Suchanfragen pro Monat für den erstaunlichen? Preis von 250 $</p>
 
v08zbv8fvlkjasdflkj 2021-11-29
<p>Ist es überraschend, weil es zu teuer ist? Ich kann das nicht so recht einschätzen.</p>
 
xguru 2021-11-29
<p>Ja, das ist extrem teuer. Im Vergleich zur Nutzung kostenpflichtiger Proxys zum Beispiel.<br /> Da es eine API ist, ist es bequem nutzbar, ohne sich Sorgen um Sperrungen machen zu müssen.</p>
 
hentol 2021-11-29
<p>Mir fallen zwar die hierzulande erhältlichen 0-Won-MVNO-Tarife ein, die ein gewisses Datenvolumen bieten …<br /> Aber weil eine massenhafte Anmeldung schwierig ist, wäre wohl auch das keine einfache Lösung.</p>
 
xguru 2021-11-29
<p>Bei Google Fi sind pro Leitung bis zu vier zusätzliche Daten-SIMs möglich, also wäre so etwas vermutlich auch eine Option.</p>
 
nallwhy 2021-11-29
<p>Als ich früher einmal etwas von naver gescrapt habe,<br /> lief es auf AWS lambda nicht, auf GCP functions aber schon.<br /> Ich dachte, das läge daran, dass der IP-Bereich offen sei, aber offenbar ist das wohl doch nicht so.</p>
 
honore 2021-11-29
<p>Ich mache es bereits mit Methode 1 und habe mir die anderen Ansätze angesehen, um zu sehen, was es noch gibt … daran hätte ich nie gedacht.</p>
 
xguru 2021-11-29
<p>Tatsächlich dürfte auch Variante 1 mit Lambda+Puppeteer auf diese Weise ganz brauchbar sein,<br /> aber im Vergleich zur Proxidize-Methode am Ende wird es je nach Scraping-Umfang vermutlich Kostenunterschiede geben.<br /> Je größer der benötigte Umfang ist, desto stabiler dürfte Proxidize sein, aber für eine einfache Umsetzung scheint auch Variante 1 nicht schlecht zu sein. <br /> <br /> Das am Ende vorgestellte https://proxidize.com/ ist interessant. <br /> Es ist eine Hardware- und Software-Lösung, mit der man eigene 4G-Mobilfunk-Proxys erstellen und verwalten kann.<br /> Die Version mit 5 Dongles kostet $399. Wenn man sich die Länderliste der Nutzer ansieht, scheint auch Korea dabei zu sein, also dürfte die Nutzung möglich sein?<br /> <br /> Es ist zwar nicht ganz CGNAT, aber es gibt auch Lösungen wie Scrapoxy, mit denen sich ein Pool von Software-Proxys verwalten lässt.<br /> - Scrapoxy - Proxy-Pool-Verwaltungstool für Webcrawler https://de.news.hada.io/topic?id=2308</p&gt;