
Praktische Übungen, die Ihnen das Parsen von HTML in PHP beibringen
Brüder in Netzwerk-Entwicklung beschäftigt verstehen, verwenden Sie PHP, um Web-Daten wie Essen Nudeln ohne Würze Pakete erfassen - immer das Gefühl, fast interessant. Vor allem, wenn angetroffen Anti-Kletter-Mechanismus strengen Website, direkte Anfrage Minuten zu verbieten. dieses Mal, wenn das PHP-Skript einen Proxy-IP, wie mit dem Spiel zu öffnen, das Plug-in wie, sofort verbessern die Überlebensrate.
Wie wurde die Proxy-IP zu einem Talisman?
Wenn Sie beispielsweise in einem Internetcafé hocken und die Seite eines bestimmten Produkts ständig aktualisieren, wird der Netzwerkadministrator Sie mit Sicherheit als Schwarzhändler rauswerfen. Aber wenn Sie jedes Mal einen anderen Computer aufrufen, wird der Netzwerkadministrator verwirrt sein. Proxy-IP ist das Prinzip, das den Server denken lässt, dass jede Anfrage ein anderer Benutzer ist.
// Grundversion der curl-Anfrage
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "Ziel-URL");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
// Die Version mit dem hinzugefügten Proxy (unter Verwendung des Proxy-Beispiels von ipipgo)
$proxy = '123.123.123.123:8888'; // von ipipgo bereitgestellte Proxy-Adresse
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP); // ipipgo liefert Proxy-Adresse.
Praktisch: Verwendung der DOMDocument-Disassemblierungsseite
Nachdem wir den Quellcode der Webseite erhalten haben, müssen wir das DOMDocument einladen, diese Demontage Experten. Schauen Sie nicht auf den Namen ist bluffen, mit ihm ist fast so einfach wie das Schälen eines Apfels.
// Laden des HTML-Inhalts mit Proxy-Fetching
$dom = new DOMDocument();
@$dom->loadHTML($output); // Ignorieren Sie die Tag-Fehlerwarnung
// Alle h1-Überschriften erfassen
$h1_list = $dom->getElementsByTagName('h1');
foreach ($h1_list as $item) {
echo $item->nodeValue."";
}
Was tun, wenn Sie verifiziert werden? Die besten Tipps für den Einstieg bei ipipgo
Manche Websites sind so dreist, dass sie CAPTCHAs einblenden, wenn sie häufige Besuche feststellen. Das ist der richtige Zeitpunkt, um ipipgo'seinzigartiges Geheimnis::
| Art des Problems | ipipgo-Lösungen |
|---|---|
| IP gesperrt | Automatische Umschaltung von Proxy-IP-Pools für Privatanwender |
| Häufigkeitsgrenze anfordern | Intelligente Planung von verschiedenen geografischen Knotenpunkten |
| Anmeldung erforderlich | Ermöglicht langanhaltendes Halten der Sitzung IP |
Fallstricke, in die Weiße häufig tappen (QA-Sitzung)
F: Die Proxy-IPs funktionieren nicht, wenn ich sie verwende?
A: Ein häufiges Problem bei kostenlosen Proxys! Es wird empfohlen, das kommerzielle Paket von ipipgo zu verwenden, dessen IP-Überlebenserkennung5-Minuten-AbstimmungEs ist ein Kinderspiel.
F: Was soll ich tun, wenn der geparste Inhalt verstümmelt ist?
A: In 80 % der Fälle handelt es sich um ein Codierungsproblem, fügen Sie dies nach der Curl-Anfrage hinzu:
curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate');
F: Wie kann ich feststellen, ob eine Vollmacht in Kraft ist?
A: Fügen Sie dies nach curl_exec ein:
echo curl_getinfo($ch, CURLINFO_PRIMARY_IP);
Die angezeigte IP sollte eine Proxy-Adresse sein.
Fortgeschrittene Techniken: Doppelschwertkombination
Die Verwendung des Proxy-Pools von ipipgo in Verbindung mit Simple HTML DOM hat den Effekt, dass die Daten direkt durchgezogen werden:
include 'simple_html_dom.php';
// 10 freie Proxies von ipipgo holen
$proxy_pool = ipipgo::get_proxies(10);
foreach ($proxy_pool as $proxy) {
$html = file_get_html($url, false, $proxy);
if($html) break; // bei Erfolg aus der Schleife ausbrechen
}
Abschließend möchte ich noch ein Wort der Vorsicht zur Datenerfassung sagen. Nutzen Sie reguläre Dienstleister wie ipipgo, um die Stabilität Ihres Unternehmens zu gewährleisten und rechtliche Risiken zu vermeiden. Sie haben eine große Auswahl an Paketen, und neue Abonnenten können auch erhalten3-Tage-TestversionDas ist viel einfacher, als einen freien Mitarbeiter selbst zu entlassen.

