
Praktische Übungen zur Verwendung von PHP für die Erfassung von Webseiten
Das Schlimmste an der Datenerfassung ist, dass die IP-Adresse blockiert wird! Heute lassen Sie uns darüber reden, wie man PHP CURL mit Proxy-IP verwenden, um den Frieden zu halten. Zunächst einmal habe ich einen Kumpel zu tun Preisvergleichs-Website, nicht hinzufügen, einen Proxy direkt hart, die Ergebnisse des nächsten Tages, die Server-IP auf der Zielstation zog die schwarze Liste, und jetzt ändern, um ipipgo Proxy-Pool verwenden nie gekippt.
Vorlage für Basismodellsammlung (mit Proxy)
Funktion crawlWithProxy($url) {
$ch = curl_init();
// Jetzt kommt der Clou! So richten Sie den Proxy-Server ein
curl_setopt($ch, CURLOPT_PROXY, 'proxy.ipipgo.com:9021');
curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'benutzername:passwort');
curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_URL, $url).
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // https-Authentifizierung überspringen
$output = curl_exec($ch);
if(curl_errno($ch)){
throw new Exception('Crawling-Fehler: '.curl_error($ch));
}
curl_close($ch); }
return $output; }
}
// Anwendungsbeispiel
try {
$html = crawlWithProxy('http://目标网站.com'); echo $html; }
echo $html; } catch(Exception $e) { $html
} catch(Exception $e) {
echo $e->getMessage(); } catch(Exception $e) { echo $e->getMessage(); }
}
sorgfältig beobachtenAbschnitt AgenteneinstellungenHier werden die von ipipgo bereitgestellten Proxy-Adressen verwendet. Sie haben im Allgemeinen das FormatBereich:HafenWenn Sie einen Proxy verwenden möchten, müssen Sie Ihr Kontopasswort auf dasjenige ändern, das Sie selbst registriert haben. Der Vorteil der Verwendung seiner Proxy ist, dass jede Anfrage automatisch IP-Änderung, die Ziel-Website kann einfach nicht das Gefühl, Ihren Weg.
Tipps zur erweiterten Konfiguration
Möchten Sie die Erfassung stabiler machen? Diese Parameter müssen angepasst werden:
// Setzen Sie den Timeout in Sekunden
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
// Browser-Header verbergen
$headers = [
'Benutzer-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', 'Benutzer-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
'Accept-Language: zh-CN,zh;q=0.9'
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
// Automatische Behandlung von Umleitungen
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
Besonderer Hinweis: Mit ipipgo'sLanglebige statische ProxysDenken Sie daran, die Whitelist im Hintergrund zu erstellen. Wenn Sie einen dynamischen Proxy-Pool verwenden, kann dessen API-Schnittstelle direkt die neueste Proxy-Liste abrufen, worauf später noch eingegangen wird.
Häufige Fallstricke der realen Welt QA
F: Was soll ich tun, wenn der Bevollmächtigte immer wieder abbricht?
A: Überprüfen Sie zunächst die Proxy-Adresse und Port ist nicht richtig, und dann versuchen, die CURLOPT_CONNECTTIMEOUT Parameter anzupassen. Wenn Sie ipipgo verwenden, begegnete dieser Situation, ihren Kundendienst Reaktionsgeschwindigkeit Dieb, Hintergrund einen Arbeitsauftrag einreichen 5 Minuten zurückkehren müssen.
F: Worauf sollte ich bei der Erfassung von https-Websites achten?
A: Setzen Sie CURLOPT_SSL_VERIFYPEER und CURLOPT_SSL_VERIFYHOST auf false, was nicht sehr sicher ist, aber das Problem lösen kann. Oder besuchen Sie die offizielle Website von ipipgo, um das CA-Zertifikat herunterzuladen, und geben Sie den Pfad des Zertifikats an.
F: Wie kann ich die Proxy-IP automatisch wechseln?
A: Der dynamische Proxy-Dienst von ipipgo verfügt über diese Funktion im Code, um die API-Schnittstelle in der Zeile zu ersetzen. Zum Beispiel:
$proxy = file_get_contents('https://api.ipipgo.com/dynamic?token=你的令牌');
curl_setopt($ch, CURLOPT_PROXY, $proxy);
Tipps zur Verwendung von ipipgo
Ihre Mittel sind in drei Pakete unterteilt, die je nach Bedarf ausgewählt werden:
| Paket Typ | Anwendbare Szenarien | Empfohlene Konfigurationen |
|---|---|---|
| dynamische Rotation | Hochfrequenzerfassung | Automatischer IP-Wechsel auf Anfrage |
| statisch und langlebig | Feste IP erforderlich | 24-Stunden-Gültigkeitszeitraum |
| Maßgeschneidert Exklusiv | Unternehmensanforderungen | Exklusiver IP-Pool + maßgeschneiderte Strategien |
Denken Sie daran, sich als neuer Benutzer zu registrieren2G Free Traffic PackIch bin nicht sicher, ob es eine gute Idee, es zu benutzen, aber es ist genug für die Prüfung. Es gibt einen versteckten Vorteil: in den Code mit ihren alternativen Domain-Namen proxy2.ipipgo.net, manchmal die Haupt-Domain-Namen von einigen Websites blockiert wird, können diese verwenden.
Schließlich sagte ein Aufruhr Betrieb: die Sammlung Skript zu setzen crontab Timing laufen, denken Sie daran, eine zufällige Verzögerung in der Code-Schlaf (mt_rand (1,5)) hinzuzufügen, so dass sowohl den Betrieb der realen Person zu simulieren, sondern auch zu vermeiden, die Auslösung der Ziel-Website Wind Kontrollmechanismus. Mit ipipgo's Agent, im Grunde tun können, sinnlos Sammlung, pro-Test effektiv!

