
Erstens: Warum sollte eine Proxy-IP für eine Netzwerkerfassung verwendet werden?
Engagiert in Crawling-Partner müssen die Verlegenheit der IP blockiert begegnet sein, vor allem, wenn die Ziel-Site hinzugefügt Anti-Climbing-Mechanismus. Zu dieser ZeitProxy-IPEs ist wie die Eröffnung eines Stealth hängen, jede Anfrage für eine neue Weste, kann die Website nicht sagen, ob Sie eine echte Person oder ein Programm sind. Zum Beispiel haben wir häufig verwendet ipipgo Service, kann richtig dieses Problem zu lösen, ist seine IP-Pool groß genug und sauber genug, nicht leicht zu identifizieren.
Zweitens, PHP curl basic operation manual
Verstehen Sie zunächst, wie man curl verwendet, denn dies ist das wichtigste Werkzeug zum Abrufen von Daten. Merken Sie sich diese wichtigen Einstellungen:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "Ziel-URL");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //das Ergebnis speichern und nicht direkt ausgeben
curl_setopt($ch, CURLOPT_HEADER, 0); //Kopfzeile nicht ausgeben
$output = curl_exec($ch);
curl_close($ch).
sorgfältig beobachtencurl_setoptDiese Funktion sagt curl offen gesagt, was zu tun ist. Wenn Sie RETURNTRANSFER nicht setzen, werden die Daten direkt auf die Seite gedruckt, und das ist eine Sauerei.
Drittens, Hand in Hand plus Proxy-IP-Echtkampf
Hier ist der Punkt! Ziehen Sie eine Proxy-Weste über curl und verwenden Sie den Proxy-Dienst von ipipgo als Kastanie:
$proxy = "123.123.123.123:8888"; //von ipipgo bereitgestellte Proxy-IP
$auth = "username:password"; //Authentifizierung durch ipipgo-Backend
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://目标网站.com");
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $auth); curl_setopt($ch, CURLOPT_PROXYUSERPWD, $auth);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1).
// Für die Fehlersuche (denken Sie daran, es für formale Umgebungen auszuschalten)
curl_setopt($ch, CURLOPT_VERBOSE, true); curl_setopt($ch, CURLOPT_VERBOSE, true)
curl_setopt($ch, CURLOPT_STDERR, fopen('php://stderr', 'w'));
$result = curl_exec($ch);
if(curl_errno($ch)){
echo 'Crawl-Fehler: '.curl_error($ch); }
}
curl_close($ch); }
Beachten Sie das Format der Proxy-IPDie Proxy-Adresse muss eine IP:Port-Struktur aufweisen. Das Backend von ipipgo kann Proxy-Adressen in diesem Format direkt generieren, was für Diebe einfach zu nutzen ist.
Viertens, kriechen abnorme Verarbeitung Daquan
Geraten Sie nicht in Panik, wenn Sie auf die folgenden Motten stoßen, der alte Fahrer wird Ihnen den Trick zeigen:
//Prüfen, ob der Proxy in Kraft ist
if(curl_getinfo($ch, CURLINFO_PRIMARY_IP)){
echo "Derzeit wird eine Proxy-IP verwendet: ".curl_getinfo($ch, CURLINFO_PRIMARY_IP); }
}
// Setzen Sie eine Zeitüberschreitung, um ein Hängenbleiben zu vermeiden
curl_setopt($ch, CURLOPT_TIMEOUT, 15); //Zurückziehen, wenn 15 Sekunden lang keine Antwort
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); //Verbinden und bis zu 5 Sekunden warten.
//Automatischer Wiederholungsmechanismus
$retry = 3;
while($retry--){
$result = curl_exec($ch);
if(!curl_errno($ch)) break;
sleep(1); // 1 Sekunde warten und erneut versuchen
}
V. Häufig gestellte Fragen QA
F: Was soll ich tun, wenn ich mich nicht immer mit der Proxy-IP verbinden kann?
A: Prüfen Sie zunächst, ob ein Fehler im IP-Port vorliegt, und verwenden Sie dann Telnet, um die Konnektivität zu messen. Wenn die IP von ipipgo plötzlich ausfällt, gehen Sie in den Hintergrund, um zu einer neuen IP zu wechseln, sein IP-Pool ändert sich schnell, im Grunde geht er nicht verloren.
F: Wie kann ich die Effizienz des Crawlings verbessern?
A: Auf ipipgo's dynamische Wohn-Agent, mit Multi-Threading zu engagieren. Denken Sie daran, die zufällige Intervallzeit einzustellen, platzen nicht wie ein Maschinengewehr, es ist leicht zu finden.
F: Was sollte ich tun, wenn ich auf ein CAPTCHA stoße?
A: Es bedeutet, dass die Qualität der Proxy-IP, die Sie verwenden, nicht gut genug ist, wechseln Sie ipipgo's großen Vorrat an IPs und versuchen Sie es. Wenn das nicht funktioniert, müssen Sie sich an ein Bilderkennungsprogramm wenden, aber das ist eine andere Geschichte.
Proxy-IP-Einkaufspforte
Sie müssen diese harten Indikatoren beachten, um sich für eine Agentur zu entscheiden:
- IP-Überlebensdauer: Die kurzlebigen Proxys von ipipgo wechseln automatisch in 5-15 Minuten, die langlebigen können bis zu 24 Stunden halten.
- Geografische Lage: die inländische Website zu fangen, um die lokalen Server-Raum IP, Übersee-Geschäft mit seiner Familie Amerika / Asien Knoten wählen
- Protokollunterstützung: Zusätzlich zu HTTP/HTTPS erfordern einige Szenarien SOCKS5, das ipipgo unterstützt.
Ein letzter Trick:Dynamischer IP-Pool + automatische UmschaltungDie ipipgo Hintergrund kommt mit einer API, um die neuesten Agenten in Echtzeit zu erhalten, mit dem Skript automatisch ersetzt, greifen die Daten, die eine stabile genannt wird. Encounter technische Probleme direkt an seine Familie Kundendienst, Reaktionsgeschwindigkeit als Gleichaltrige schneller als einen halben Stern.

