Crawler ist ein automatisiertes Programm zum Sammeln von Informationen aus dem Internet. Es simuliert das Browserverhalten, greift auf Webseiten zu und extrahiert Zieldaten. Als leistungsstarke serverseitige Skriptsprache kann PHP auch zum Schreiben effizienter Crawler-Programme verwendet werden.
Der erste Schritt für Crawler besteht darin, den Inhalt der Zielwebseite über HTTP -Anfragen zu erhalten. PHP bietet eine Vielzahl von Methoden zum Senden von HTTP -Anforderungen. Die einfachste und am häufigsten verwendete Funktion ist die Funktion von File_Get_Contents () .
$url = "http://example.com";
$html = file_get_contents($url);
Verwenden Sie die Funktion "File_Get_Contents (), um den HTML -Quellcode der Webseite direkt zu erhalten und in der Variablen $ html zu speichern.
Nach dem Erhalt des Webseiten -Quellcodes muss das HTML analysiert werden, um die erforderlichen Informationen zu extrahieren. Die integrierte Domdocument- Klasse von PHP ist ideal für die Behandlung von XML- und HTML-Dokumenten.
$dom = new DOMDocument();
@$dom->loadHTML($html);
Hier wird die LOADHTML () -Methode verwendet, um die HTML -Zeichenfolge in ein DOM -Objekt umzuwandeln, um nachfolgende Datenoperationen zu erleichtern. Achten Sie darauf, @ hinzuzufügen, um Warnmeldungen während der HTML -Parsen zu vermeiden.
XPATH ist eine Abfragesprache, mit der Knoten in XML- und HTML -Dokumenten lokalisiert werden. In Kombination mit der DomxPath -Klasse können Sie Zielelemente auf einer Webseite problemlos lokalisieren und extrahieren.
$xpath = new DOMXPath($dom);
$elements = $xpath->query("//h1");
foreach ($elements as $element) {
echo $element->nodeValue;
}
Der obige Code wird durch den XPath -Ausdruck "// H1" positioniert.
$url = "http://example.com";
$html = file_get_contents($url);
$dom = new DOMDocument();
@$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$elements = $xpath->query("//title");
if ($elements->length > 0) {
$title = $elements->item(0)->nodeValue;
echo $title;
} else {
echo "No title found";
}
Dieser Code fordert zunächst den Quellcode des Webseiten an, analysiert dann die HTML und findet ihn schließlich über XPAPH