
Wenn Crawler die Hürde des TLS-Fingerprinting nehmen
Diejenigen unter Ihnen, die sich mit dem Crawling von Daten befassen, werden in letzter Zeit bemerkt haben, dass einige Websites damit begonnen haben, sich anTLS-Fingerabdruck-IdentifizierungDiese neue Routine. Einfach ausgedrückt, prüft der Server die Merkmale des Client-Handshakes, wie die Browserversion, das Verschlüsselungskit und andere Parameter. Wenn wir eine Anfrage mit einer normalen curl- oder requests-Bibliothek senden, werden wir als Bot erkannt und unsere IP wird gesperrt.
Wenn Sie nur eine Proxy-IP verwenden, um die Adresse zu ändern, ist das so, als würden Sie einem Roboter eine Perücke aufsetzen - Sie behandeln die Symptome, aber nicht die Wurzel des Problems; die IP wird geändert, aber die Handshake-Merkmale bleiben unverändert, und die Leute werden Sie immer noch als dieselbe "Person" erkennen. Sie müssen alsolit. paint holding two brushes (idiom); fig. to work on two tasks at the same timeÄndern Sie sowohl die IP-Adresse als auch die TLS-Fingerprinting-Signatur.
Wie man das Artefakt curl_cffi spielt
Und hier kommen wir zur Hauptperson.curl_cffiBibliothek. Sie basiert auf curl, wurde aber tiefgreifend modifiziert, um die TLS-Fingerprints der verschiedenen Browser zu emulieren. Werfen wir einen Blick auf eine Vergleichstabelle, um eine bessere Vorstellung zu bekommen:
| Artefakt | Unterstützte Protokolle | Fingerabdruck-Simulation | gleichzeitige Ausführung |
|---|---|---|---|
| Anfragen | HTTP/1.1 | × | Mitte |
| Gemeinsame Locke | HTTP/2 | × | Ihr (Ehrentitel) |
| curl_cffi | HTTP/3 | √ | ultrahoch |
Einfacher und unkomplizierter Einbaupip install curl_cffiTun Sie es einfach. Es geht darum, den Fingerabdruck des Browsers anzugeben, wenn Sie ihn verwenden, etwa so:
von curl_cffi importiert Anfragen
resp = requests.get("https://目标网站",
impersonate="chrome110",
proxies={"https": "http://user:pass@ipipgo proxy address:port"}
)
hier sindDer Parameter impersonateDas ist der Schlüssel, es unterstützt alle Versionen von chrome99 bis chrome120. Es wird empfohlen, die Mainstream-Version innerhalb von drei Monaten zu wählen, zu neu oder zu alt sind leicht zu offenbaren.
Wie man eine zuverlässige Proxy-IP auswählt
Da wir die IPs wechseln, ist es an der Zeit, über unsereipipgo-Proxy-DienstIm Folgenden finden Sie ein Beispiel dafür, wie Sie dies tun können. Viele Agenten auf dem Markt kümmern sich nur um die Bereitstellung von IPs und nicht um die Anwendungsszenarien. Aber wir müssen drei harte Indikatoren berücksichtigen, um Anti-Reverse Crawling zu betreiben:
- Der IP-Typ muss mit der OptionWohnungsvermittlerDie IP des Rechenzentrums steht seit langem auf der schwarzen Liste.
- Jede IP-Überlebenszeit sollte in 5-15 Minuten kontrolliert werden, nicht in einer langfristigen Wiederverwendung
- Der Ausgangsort muss mit dem Geostandort der mit Fingerabdrücken versehenen Browserversion übereinstimmen.
Wenn Sie beispielsweise einen US-Chrome-Browser emulieren, muss die Proxy-IP ebenfalls eine US-Wohnadresse sein. ipipgo'sDynamischer Maklerpool für PrivatkundenGenau das Richtige für diese Bedürfnisse, mit automatischer Zuweisung der neuesten IP für jede Anfrage und mit Auswahl des Geostandorts.
Praktischer Leitfaden zur Vermeidung der Grube
In Kombination mit unserer Erfahrung bei der Lösung von Problemen für Kunden fassen wir einige häufige Minenfelder zusammen:
- Versuchen Sie nicht, durch die Verwendung kostenloser Proxys Geld zu sparen, denn diese IPs wurden bereits von großen Websites erkannt.
- Am besten ist es, pro Anfrage zufällig für 0,5-3 Sekunden in den Ruhezustand zu gehen, um den mechanischen Rhythmus nicht durcheinander zu bringen.
- Denken Sie daran, die curl_cffi-Version regelmäßig zu aktualisieren, die Browser-Fingerprinting-Bibliothek wird jeden Monat aktualisiert!
Hier ist eine Konfigurationsvorlage, auf die Sie sich beziehen können:
zufällig importieren
importiere Zeit
von curl_cffi importiere Anfragen
def safe_request(url): time.sleep(random.uniform(1, 3))
time.sleep(random.uniform(1, 3))
return requests.get(url, impersonate=random.choice["chrome119", random.uniform(1, 3))
impersonate=random.choice(["chrome119", "chrome120"]), proxies={"https
proxies={"https": f "http://{ipipgo auto-assign proxy}"}
)
Häufig gestellte Fragen QA
F: Ich habe bereits eine Proxy-IP verwendet, warum ist sie immer noch gesperrt?
A: Einfach die IP-Adresse zu ändern, ohne die TLS-Fingerabdrücke zu verändern, ist so, als würde man die Kleidung wechseln, ohne das Gesicht zu verändern - die Leute werden es immer noch erkennen. Sie müssen mit curl_cffi arbeiten, das ein Werkzeug zur Verschleierung von Fingerabdrücken ist.
F: Wie erhalte ich den Code für den ipipgo-Agenten?
A: Holen Sie sich die API-Zugangsadresse im Personal Center, es wird empfohlen, dieBenutzername + PasswortAuthentifizierungsmethode, die bequemer ist als die Bindung an eine IP-Whitelist.
F: Was sollte ich tun, um die TLS-Erkennung zu debuggen?
A: Zunächst mitopenssl s_client -Verbindung Zielseite:443Sehen Sie sich den Handshaking-Prozess eines normalen Browsers an und vergleichen Sie ihn mit den Parametereinstellungen Ihres eigenen Programms.
Abschließend sei daran erinnert, dass die technischen Hilfsmittel nur in Verbindung mit einem zuverlässigen Vermittlungsdienst wirksam sein können. Lassen Sie unsipipgo24-Stunden-Support, bei speziellen Problemen können Sie sich direkt an den Techniker wenden, der die Fehlerbehebung persönlich vornimmt, was zuverlässiger ist als Online-Tutorials.

