A, warum die Proxy-IP zu werfen, die alte blockiert, wie zu tun ah
Kürzlich sind eine Menge Brüder fragen, mit PHP zu schreiben, ein Crawler ist immer das Ziel vor Ort, um die IP zu blockieren, wie zu tun ist. Diese Sache mit dem Spiel war Verbot Nummer wie, Sie verwenden immer eine Reihe von Bürste Kopien, das System nicht blockieren Sie blockieren, die? Dieses Mal müssen Sie die Proxy-IP dieses Plug-in verwenden - oh nein, ist das Werkzeug.
Um einen realen Fall zu geben: letzte Woche gibt es eine Preisvergleichs-Website Buddy, jede Stunde eine E-Commerce-Plattform 50.000 Mal die Daten zu erfassen. Mit ihren eigenen Servern direkt zu erfassen, die Ergebnisse von weniger als zwei Stunden IP in die schwarze Liste. Später geändertExklusiver Proxy-Pool für ipipgoIch arbeite jetzt schon eine Weile daran und habe einen automatischen IP-Wechsel für alle 50 Anfragen eingerichtet, und es läuft jetzt schon seit einer Woche ohne Probleme.
Zweitens, wie die Proxy-IP zu wählen? Nicht nur eine finden kann verwenden
Es gibt drei Arten von Proxy-IPs auf dem Markt, wie die Tabelle verdeutlicht:
Typologie | Besonderheiten | Szenario |
---|---|---|
Transparenter Agent | Die andere Partei kann die echte IP sehen | Es ist im Grunde nutzlos. |
Anonymer Beauftragter | Verbergen der echten IP-Adresse, aber Offenlegung des verwendeten Proxys | Allgemeine Datenerfassung |
Hochversteckte Agenten | Vollständiges Ausblenden aller Informationen | Harte Anti-Bergsteiger-Seiten |
ähnelnHochversteckter Proxy für ipipgoDer eigentliche Test in der Erfassung eines großen sozialen Plattform, ist die Erfolgsquote höher als die gewöhnlichen Proxy 37%. Der Schwerpunkt liegt auf ihrer Familie IP-Pool wird schnell aktualisiert, viele sind nicht offengelegten Abschnitt des Serverraums IP, ist nicht leicht zu identifizieren.
Drittens, die praktische PHP-Code-Bekämpfung
Lassen Sie uns dies anhand der am häufigsten verwendeten cURL-Erweiterung demonstrieren. Beachten Sie die beiden Schlüsselparameter: CURLOPT_PROXY und CURLOPT_PROXYUSERPWD.
$ch = curl_init();
$proxy = 'gateway.ipipgo.net:9021'; //Adresse des Proxy-Servers
$auth = 'username:password'; //Authentifizierungsinformationen aus dem ipipgo-Backend
curl_setopt_array($ch, [
CURLOPT_URL => 'https://目标网站.com/api',
CURLOPT_PROXY => $proxy,
CURLOPT_PROXYUSERPWD => $auth,
CURLOPT_TIMEOUT => 30,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false //Testumgebungen können die Zertifikatsvalidierung ausschalten.
]);
$response = curl_exec($ch);
if(curl_errno($ch)){
//Es wird empfohlen, hier ein Fehlerprotokoll zu führen
echo 'Crawl fehlgeschlagen: '.curl_error($ch); }
}
curl_close($ch); }
Und jetzt kommt der Clou.Timeout-EinstellungViele Neulinge setzen TIMEOUT nicht, so dass sie einfach warten, wenn der Agent keine Verbindung herstellen kann. Es wird empfohlen, je nach den geschäftlichen Anforderungen 10-60 Sekunden einzustellen und den nächsten Agenten direkt nach der Zeitüberschreitung zu wechseln.
IV. Leitfaden zur Vermeidung von Fallstricken - eine Zusammenfassung der Erfahrungen mit Blut und Tränen
1. Setzen Sie keine freien Mitarbeiter ein.Die im letzten Jahr getesteten kostenlosen Proxys haben eine durchschnittliche Verfügbarkeit von weniger als 15%, und es besteht das Risiko eines Datenverlusts.
2. denken Sie daran, den Pilotmechanismus hinzuzufügen: Es wird vorgeschlagen, etwas in dieser Art zu schreiben.
$retry = 3;
while($retry--){
//Ausführen des Anforderungscodes
if(Erfolg) break; sleep(2); //Fehlschlag und 2 Sekunden warten und erneut versuchen.
sleep(2); //nach Fehlschlag 2 Sekunden warten und erneut versuchen
}
3. achten Sie auf die Kontrolle der Gleichzeitigkeit: glauben Sie nicht, dass Sie mit dem Einsatz von Proxies alles machen können, was Sie wollen, es wird empfohlen, 5-10 Anfragen pro Sekunde zu kontrollieren!
V. QS-Zeit - eine häufige Falle für Neulinge
F: Was sollte ich tun, wenn meine Proxy-IP nicht funktioniert?
A: Normales Phänomen, alle Proxys haben ein Ablaufdatum. Es wird empfohlen, die API von ipipgo zu verwenden, um die neueste IP dynamisch abzurufen; sie haben einen Beispielcode bereitgestellt.
F: Der zurückgegebene Statuscode ist immer 407?
A: Dies ist ein Fehler bei der Proxy-Authentifizierung. Überprüfen Sie, ob der Benutzername und das Passwort korrekt sind. Beachten Sie, dass das Passwort von ipipgo dynamisch generiert wird und jeden Monat neu beantragt werden muss!
F: Wie kann ich testen, ob der Proxy wirklich funktioniert?
A: Sie können diese Testschnittstelle verwenden:
curl_setopt($ch, CURLOPT_URL, 'http://httpbin.org/ip');
Das zurückgegebene Herkunftsfeld sollte die Proxy-IP anzeigen, nicht Ihre lokale IP.
Warum ipipgo empfehlen?
Nachdem ich sieben oder acht Proxy-Anbieter ausprobiert hatte, entschied ich mich schließlich aus drei Gründen für ipipgo:
1. die Reaktionszeit ist schnell genug, mit einer durchschnittlichen Verzögerung von 200 ms oder weniger
2) Der Kundendienst ist wirklich technisch versiert und kann bei der Fehlersuche im Code helfen.
3. flexible Preismodelle, mit Paketen zu 5 $ pro Tag für Tests in kleinem Maßstab
Insbesondere ihreIntelligente Routing-FunktionDas Wichtigste ist, dass Sie den besten Knoten automatisch auswählen können. Letzte Woche, um die Daten einer Regierung Website zu erfassen, direkt ihre Regierung Linie Kanal nehmen, die Erfolgsquote von 43% stieg auf 91%.
Schließlich erinnern: Proxy-IP ist kein Allheilmittel, mit User-Agent Rotation, Anfrage Frequenz Kontrolle, um die maximale Wirkung zu spielen. Es gibt keine spezifischen Fragen willkommen zu ipipgo offiziellen Website zu finden, technischen Kundendienst nörgeln, sie sind online 24 Stunden am Tag, ausführlicher als ich hier schrieb.