Wenn du wie die großen Unternehmen Web Scraping betreiben willst (2021)
(incolumitas.com)Here is a summary of the key points from the article in Korean, formatted as a markdown bullet list:
Aufbau einer groß angelegten Scraping-Infrastruktur
- Mit AWS Lambda wird Headless Chrome ausgeführt, um pro Woche Millionen von Google-SERPs zu scrapen
- Durch dreimaliges Aufrufen der Lambda-Funktion kann man eine neue öffentliche IP erhalten
- Wenn 1000 Lambda-Funktionen gleichzeitig aufgerufen werden, können etwa 250 öffentliche IPs genutzt werden
- Mit 16 Regionen lassen sich etwa 4000 öffentliche IP-Adressen nutzen
- Diese Methode funktioniert jedoch nur bei Seiten wie Google, Bing und Amazon. Bei Websites, die Anti-Bot-Lösungen wie DataDome, Akamai oder Imperva verwenden, funktioniert sie nicht
- Anti-Bot-Lösungen nutzen verschiedene Techniken wie Browser-Fingerprinting, Lügenerkennung und das Erkennen von Verhalten, das sich von menschlichem Verhalten unterscheidet
- Der Grund, warum Bot-Erkennung schwer zu umgehen ist: Meist läuft alles in der Cloud mit Docker oder Kubernetes
Vorschlag für eine skalierbare, schwer erkennbare Scraping-Infrastruktur
- 500 günstige Android-Geräte von 5 Herstellern kaufen
- Günstige Datentarife nutzen, Geräte mit DeviceFarmer/stf steuern
- In 5 großen Städten wie London, Paris, Boston, Frankfurt und LA jeweils 100 Geräte platzieren
- Ein schlankes Android Go installieren und alle 5 Minuten den Flugmodus aus- und wieder einschalten, um die IP-Adresse zu wechseln
- Mobile 4G/5G/LTE-IP-Adressen können nicht blockiert werden. Da sie von vielen Nutzern gemeinsam verwendet werden, kann selbst Instagram nicht 200.000 Menschen in LA sperren
- Ereignisse wie Geräteausrichtung und Bewegung müssen auf Kernel-Ebene manipuliert werden
Verbesserungsvorschlag: Android-Emulation
- Emulatoren wie Android-x86 auf VirtualBox, Bluestacks und Android Studio verwenden
- Es gibt jedoch viele Techniken zur Erkennung von Emulationen (browserbasierte Red Pills, adb-Port-Scans, Erkennung von Werbe-IDs, Erkennung von Social Logins usw.)
- 4G-Dongles direkt mit dem Server verbinden und im Android-Emulator verwenden
- In jeder der 5 großen Städte jeweils einen leistungsstarken Scraping-Server mit 50 angeschlossenen Dongles aufstellen
- Auf jedem Server 50 bis 100 Android-Emulatoren ausführen
- Mit einem einfachen Kommando- und Steuerungsserver 5 Scraping-Stationen koordinieren
Meinung von GN⁺
- Der Einsatz echter Geräte scheint hohe Betriebskosten zu verursachen und in der Skalierbarkeit begrenzt zu sein. Die Nutzung von Emulatoren wirkt wie eine realistische Alternative.
- Allerdings entwickeln sich auch Techniken zur Emulator-Erkennung ständig weiter, sodass die bloße Verwendung von Emulatoren nicht unbedingt sicher ist. Kontinuierliche Updates und Verbesserungen werden nötig sein.
- Die Nutzung mobiler 4G/5G-IP-Adressen ist eine gute Idee. Es ist jedoch nicht auszuschließen, dass Mobilfunkanbieter bestimmte Geräte blockieren oder Tarife anpassen.
- Neben dem Verzicht auf Rechenzentrums-IPs könnte es hilfreich sein, Verhaltensmuster zu erzeugen, die menschlichem Verhalten ähneln, um Bot-Erkennung zu vermeiden. Statt groß angelegter automatisierter Erfassung könnte auch eine langsame Sammlung mit begrenzter Concurrency erwogen werden.
- Auch der Einsatz kommerzieller Anti-Detection-Browser wie Multilogin oder GoLogin wäre eine Überlegung wert. Dabei ist jedoch das Problem der Lizenzkosten zu beachten.
Noch keine Kommentare.