
Erstens, warum ist die Website immer blockiert? Lesen Sie zunächst die Anti-Climbing-Routine
Das größte Kopfzerbrechen bereitet den Crawlern die Tatsache, dass dieHäufigkeitsgrenze anfordern. Zum Beispiel, ein bestimmter Schatz Ware Daten, 30 aufeinanderfolgende Anfragen wurden geklemmt Verbindung. Zu diesem Zeitpunkt nicht eilen, um die Tastatur zu zerschlagen, ist die Website tatsächlich durch dieIP-Verfolgungum das Verhalten der Maschine zu erkennen.
Nehmen wir ein Beispiel: Ihr Router hat eine öffentliche IP-Adresse, genau wie die Lieferadresse auf einer Kurierbestellung. Der Webserver stellt fest, dass diese Adresse 50 Anfragen pro Minute sendet, und stellt direkt fest, dass es sich nicht um einen menschlichen Vorgang handelt. Zu diesem Zeitpunkt kann er auch gesperrt werden, wenn Sie eine Verzögerung im Code einbauen.
Zweitens: Wie wurde die Proxy-IP zu einem Entsperrmittel?
Das Prinzip ist sehr einfach.Mehrere Personen teilen sich einen IP-Pool. Geht man von einem Proxy-Dienst mit ipipgo aus, der bei jeder Anfrage zufällig zu einer anderen IP-Adresse wechselt, sieht die Website Zugriffsprotokolle wie dieses:
| Bestellung anfordern | Quelle IP | Zeitintervall |
|---|---|---|
| 1 | 221.192.136.12 | 3 Sekunden. |
| 2 | 120.244.62.18 | 5 Sekunden. |
| 3 | 183.128.240.66 | 2 Sekunden. |
Auf diese Weise wird der Server denken, dass erMehrere echte BenutzerBeim Zugang wird die Erkennung einzelner IP-Frequenzen perfekt umgangen. Es geht darum, einen Dienstanbieter mit einem ausreichend großen IP-Pool wie ipipgo zu wählen, um die Wiederverwendung der gleichen IP zu vermeiden.
Drittens, die Hand, um Ihnen beizubringen, in der PHP-Agent spielen
Zunächst wird der Kerncode untersucht, dann folgt eine zeilenweise Analyse:
$proxy = '221.192.136.12:8080'; //Proxy-Adresse von ipipgo
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://目标网站.com");
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_TIMEOUT, 15); curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
if(curl_errno($ch)){
echo 'Fehlercode: '.curl_errno($ch).' Vorschlagen, die Proxy-IP zu ändern';
}
curl_close($ch); }
Fokussierte Parameter Beschreibung:
- CURLOPT_PROXY muss auf das richtige Format gesetzt werden: IP:Port
- Es wird empfohlen, dass die Zeitüberschreitung nicht mehr als 15 Sekunden beträgt, da eine zu lange Zeitspanne die Effizienz beeinträchtigt.
- Denken Sie daran, mit Fehlercodes umzugehen, insbesondere mit 28 (Timeout) und 7 (Verbindung verweigert)
Viertens: Welche Vorteile bietet ipipgo in der Praxis?
Nachdem ich 7 oder 8 Proxy-Dienste genutzt habe, habe ich mich aus diesen Gründen schließlich für ipipgo entschieden:
1. zuverlässige Überlebensrate - der gemessene 95%+ IP kann sich normal verbinden 2. schnell genug Antwort - eine durchschnittliche Verzögerung von 800ms, viel besser als einige der 3 Sekunden der Unbeweglichkeit 3. exklusiver Kanal - Unternehmensnutzer können einen separaten IP-Pool eröffnen 4. transparenter Preis - nicht wie bei einigen Plattformen, die versteckte Kosten haben.
Ein besonderes Wort des Lobes für ihreIP-AufwärmmechanismusDie neu hinzugefügten IPs werden zunächst durch niedrigfrequente Anfragen auf ihre Verfügbarkeit getestet, um zu vermeiden, dass die Windsteuerung ausgelöst wird, sobald sie auftauchen.
Fünftens, der Weiße muss sehen, um den Grubenführer zu vermeiden
F: Die Proxy-IPs funktionieren nicht, wenn ich sie verwende?
A: Ein normales Phänomen! Es wird empfohlen, die IP für jede Anfrage zufällig zu ändern, verwenden Sie die API von ipipgo, um einen dynamischen IP-Pool zu erhalten, fügen Sie einfach ein Array Polling in den Code.
F: Einen Proxy einrichten oder blockiert werden?
A: Überprüfen Sie drei Punkte: 1. der Anfrage-Header hat keine Browser-Merkmale 2. das Intervall der einzelnen IP-Anfrage ist zu kurz 3. ob die Mensch-Maschine-Authentifizierung ausgelöst werden soll
F: Funktionieren kostenlose Proxys?
A: Kurzfristige Tests sind in Ordnung, aber für offizielle Projekte sollten Sie auf jeden Fall einen kommerziellen Dienst kaufen. Die Verfügbarkeit kostenloser Proxys ist in der Regel geringer als die von 20%, und auch sie haben ein Datenleck.
VI. Konfigurationsprogramm für hochrangige Akteure
Geben Sie eine Konfigurationsvorlage für diejenigen frei, die jeden Tag Millionen von Daten durchsuchen müssen:
// API-Schnittstelle von ipipgo
$ip_api = 'https://api.ipipgo.com/get?format=json';
Funktion getProxy(){
global $ip_api;
$ips = json_decode(file_get_contents($ip_api),true);
return $ips['proxy_list'][array_rand($ips['proxy_list'])];
}
// IP bei jeder Anfrage automatisch ändern
for($i=0; $i<1000; $i++){
$proxy = getProxy(); // Hier wird der vorherige Curl wieder aufgenommen.
// Hier machen wir weiter, wo wir mit dem Curl-Code aufgehört haben
usleep(500000); // 0,5 Sekunden Intervall
}
Mit diesem Programm wird Folgendes erreichtDynamischer IP-Pool + ZufallsverzögerungDoppelte Absicherung, mit ipipgo's Gleichzeitigkeitspaket ist der Anstieg von Millionen von Daten pro Tag kein Traum.

