IPIPGO IP-Proxy PHP parst HTML: DOMDocument-Tutorials

PHP parst HTML: DOMDocument-Tutorials

PHP greifen das Web muss: DOMDocument Kindermädchen Ebene Lehre Die alte Eisen in der Datenerhebung beschäftigt sollte dieses Problem begegnet sein: die Ziel-Website, um die HTML-Struktur der Mutter nicht wissen, schreiben Sie eine gute Crawler-Skript direkt Streik ändern. Heute verwenden wir PHP kommt mit dem DOMDocument Komponente, Hand in Hand, um Ihnen beizubringen, wie man zu optimieren ...

PHP parst HTML: DOMDocument-Tutorials

PHP greifen die Seite muss: DOMDocument Kindermädchen Lehre

Das alte Eisen in der Datenerhebung beschäftigt sollte dieses Problem begegnet sein: die Ziel-Website, um die HTML-Struktur der Mutter nicht wissen, schreiben Sie eine gute Crawler-Skript direkt Streik zu ändern. Heute werden wir PHP eigenen DOMDocument Komponente verwenden, um Ihnen beizubringen, wie man elegant zerlegen die Struktur der Webseite, und dann mit demipipgoDer Proxy-IP-Dienst sorgt dafür, dass die Sammlung so beständig ist wie ein alter Hund.

Erstens: Warum sollte eine Proxy-IP für die Datenerfassung verwendet werden?

Viele Websites sind "Zugangskontrollsystem" installiert, die gleiche IP häufige Besuche sofort schwarz ziehen. Zu diesem Zeitpunkt ist es notwendig, wieipipgoEin solcher professioneller Proxy-Dienst ist wie die Vorbereitung einer Reihe von "Stellvertretern" für den Crawler. Um ein Beispiel zu nennen:


$proxy = 'http://username:password@gateway.ipipgo.io:9020';
$context = stream_context_create([
    'http' => ['proxy' => $proxy]
]);
$html = file_get_contents('Ziel-URL', false, $context);

Das gateway.ipipgo.io in diesem Code ist ihr intelligentes Routing-Portal, das automatisch die am besten geeigneten Knoten zuweist. Nach dem Test mit seinem Proxy fiel die Wahrscheinlichkeit, blockiert zu werden, von 80% auf unter 5%.

Zweitens, DOMDocument Grundfunktion der drei Achsen

Sobald wir den Quellcode der Webseite haben, können wir damit beginnen, die Teile zu zerlegen:


$dom = new DOMDocument();
@$dom->loadHTML($html); // maskiert die Warnmeldung mit @
$xpath = new DOMXPath($dom);

// Beispiel: alle Produktpreise erfassen
$prices = $xpath->query('//span[@class="price"]'); }; $prices = $xpath->query('//span[@class="price"]'); }
foreach ($prices as $node) {
    echo $node->nodeValue."";
}

Achten Sie auf diese beiden Schlaglöcher:

(1) Probleme mit der Kodierung von Webseiten werden mit mb_convert_encoding behandelt.
2. ignorieren Sie HTML-Parsing-Fehler mit @-Symbolen

III. praktisch: Programm zum Erwerb einer dynamischen Website

Wenn Sie auf eine Website stoßen, die Daten mit JS lädt, können Sie eine verteilte Erfassung mit Proxy-IP durchführen. Konfigurieren Sie den Erfassungscluster zum Beispiel wie folgt:

Typ des Knotens Gleichzeitigkeit Umschaltstrategie
Domestic Residential IP 10 Fäden IP nach Anfrage ändern
Datenzentrum in Übersee IP 5 Fäden Stündliche IP-Änderungen

Kosten oder AufwandipipgoAPI, um den IP-Pool zu erhalten:


$ip_list = json_decode(file_get_contents('https://api.ipipgo.com/getips?type=http&num=20'));

IV. ein Erste-Hilfe-Set für häufige Probleme

F: Was sollte ich tun, wenn ich keine Verbindung zur Proxy-IP herstellen kann?
A:Prüfen Sie zunächst das Format der Authentifizierungsinformationen, indem Sie das von ipipgo bereitgestellte Tool "Verbindungstest" für die Hintergrunddiagnose verwenden.

F: XPath ist korrekt geschrieben, kann aber die Daten nicht erfassen?
A: 80% der Webseite hat einen iframe, verwenden Sie zuerst die reguläre Positionierung auf den spezifischen Frame und analysieren Sie dann die

F: Plötzliche Verlangsamung der Akquisition?
A: Es kann sein, dass die Geschwindigkeitsbegrenzung der Website ausgelöst wurde. Es wird vorgeschlagen, eine zufällige Wartezeit in den Code einzufügen:


sleep(rand(1, 3)); // zufällig für 1-3 Sekunden schlafen

V. Versteckte Vorteile von ipipgo

Zusätzlich zu den grundlegenden Dienstleistungen der Agentur verfügt seine Familie über zwei weitere wichtige Merkmale:

1. Intelligentes WiederholungssystemAutomatische Umschaltung von ungültigen IPs
2. Schnittstelle zur DatenbereinigungAutomatisches Filtern von doppeltem Inhalt

Abschließend noch ein Ratschlag: Verwenden Sie nicht sleep(0) im Erfassungscode, die Windsteuerung der Website ist nicht vegetarisch. Verwenden Sie Proxy-IP + zufällige Verzögerung + automatische Umschaltung dreifachen Schutz, um die Sammlung Skript lange Lebensdauer zu lassen.

Dieser Artikel wurde ursprünglich von ipipgo veröffentlicht oder zusammengestellt.https://www.ipipgo.com/de/ipdaili/36343.html

Geschäftsszenario

Entdecken Sie weitere professionelle Dienstleistungslösungen

💡 Klicken Sie auf die Schaltfläche für weitere Einzelheiten zu den professionellen Dienstleistungen

Neue 10W+ U.S. Dynamic IPs Jahresendverkauf

Professioneller ausländischer Proxy-IP-Dienstleister-IPIPGO

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Kontakt

Kontakt

13260757327

Online-Anfrage. QQ-Chat

E-Mail: hai.liu@xiaoxitech.com

Arbeitszeiten: Montag bis Freitag, 9:30-18:30 Uhr, Feiertage frei
WeChat folgen
Folgen Sie uns auf WeChat

Folgen Sie uns auf WeChat

Zurück zum Anfang
de_DEDeutsch