Heim  >  Artikel  >  Backend-Entwicklung  >  Beispiel für die Entwicklung eines einfachen PHP-Webcrawlers

Beispiel für die Entwicklung eines einfachen PHP-Webcrawlers

王林
王林Original
2023-06-13 18:54:46865Durchsuche

Mit der rasanten Entwicklung des Internets sind Daten zu einer der wichtigsten Ressourcen im heutigen Informationszeitalter geworden. Als Technologie zur automatischen Erfassung und Verarbeitung von Netzwerkdaten erregen Webcrawler immer mehr Aufmerksamkeit und Anwendung. In diesem Artikel wird erläutert, wie Sie mit PHP einen einfachen Webcrawler entwickeln und die Funktion zum automatischen Abrufen von Netzwerkdaten realisieren.

1. Übersicht über Webcrawler

Ein Webcrawler ist eine Technologie, die automatisch Netzwerkressourcen abruft und verarbeitet. Ihr Hauptarbeitsprozess besteht darin, das Browserverhalten zu simulieren, automatisch auf bestimmte URL-Adressen zuzugreifen und erforderliche Daten zu extrahieren. Im Allgemeinen können Webcrawler in die folgenden Schritte unterteilt werden:

  1. Definieren Sie die zu crawlende Ziel-URL.
  2. Senden Sie eine HTTP-Anfrage, um den Quellcode der Webseite zu erhalten.
  3. Analysieren Sie den Quellcode der Webseite und extrahieren Sie die erforderlichen Daten ;
  4. Speichern Sie die Daten und crawlen Sie die nächste URL weiter.

2. Vorbereitung der PHP-Entwicklungsumgebung

Bevor wir mit der Entwicklung von Webcrawlern beginnen, müssen wir die PHP-Entwicklungsumgebung vorbereiten. Die spezifischen Vorgänge sind wie folgt:

  1. Laden Sie PHP herunter und installieren Sie es, das von der offiziellen Website (https://www.php.net/) oder anderen Spiegel-Websites heruntergeladen werden kann.
  2. Installieren Sie einen Webserver wie Apache , Nginx usw.;
  3. Konfigurationsumgebungsvariablen für PHP, um sicherzustellen, dass PHP auf der Befehlszeile ausgeführt werden kann.

3. Einen Webcrawler schreiben

Als nächstes beginnen wir mit dem Schreiben eines Webcrawlers. Angenommen, wir möchten die Titel und URLs auf den Suchergebnisseiten von Baidu crawlen und in eine CSV-Datei schreiben. Der spezifische Code lautet wie folgt:

<?php
// 定义爬取的目标 URL
$url = 'https://www.baidu.com/s?wd=php';

// 发送 HTTP 请求获取网页源代码
$html = file_get_contents($url);

// 解析网页源代码,提取所需数据
$doc = new DOMDocument();
@$doc->loadHTML($html);
$xpath = new DOMXPath($doc);
$nodes = $xpath->query('//h3[@class="t"]/a');

// 存储数据,并继续爬取下一个 URL
$fp = fopen('result.csv', 'w');
foreach ($nodes as $node) {
  $title = $node->nodeValue;
  $link = $node->getAttribute('href');
  fputcsv($fp, [$title, $link]);
}
fclose($fp);
?>

Der obige Code definiert zuerst die zu crawlende Ziel-URL und verwendet dann den file_get_contents() sendet eine HTTP-Anfrage, um den Quellcode der Webseite abzurufen. Als nächstes verwenden Sie die Klassen DOMDocument und DOMXPath, um den Quellcode der Webseite zu analysieren und die benötigten Daten zu extrahieren. Verwenden Sie abschließend die Funktion fputcsv(), um die Daten in eine CSV-Datei zu schreiben. file_get_contents() 函数发送 HTTP 请求,获取网页源代码。接着,使用 DOMDocument 类和 DOMXPath 类解析网页源代码,提取我们所需要的数据。最后,使用 fputcsv() 函数将数据写入到一个 CSV 文件中。

四、运行网络爬虫

完成代码编写后,我们可以在命令行中运行该脚本,即可自动化获取百度搜索结果页面中的标题和 URL,并将其写入到一个 CSV 文件中。具体操作如下:

  1. 打开命令行窗口;
  2. 进入脚本所在的目录;
  3. 运行脚本,命令为 php spider.php
  4. 4. Führen Sie den Webcrawler aus.
  5. Nach Abschluss des Codeschreibens können wir das Skript in der Befehlszeile ausführen, um den Titel und die URL automatisch auf der Baidu-Suchergebnisseite abzurufen und in eine CSV-Datei zu schreiben. Die spezifischen Vorgänge sind wie folgt:

Öffnen Sie das Befehlszeilenfenster.

Geben Sie das Verzeichnis ein, in dem sich das Skript befindet. Der Befehl lautet php Spider.php Warten Sie, bis das Skript abgeschlossen ist. 🎜🎜🎜5. Zusammenfassung🎜🎜In diesem Artikel wird erläutert, wie Sie mit PHP einen einfachen Webcrawler entwickeln und die Funktion zum automatischen Abrufen von Netzwerkdaten realisieren. Dies ist natürlich nur ein einfacher Beispielcode und ein tatsächlicher Webcrawler kann komplexer sein. Aber egal, welche Art von Webcrawler wir sind, wir sollten uns an Gesetze, Vorschriften und Ethik halten und uns nicht auf illegale oder schädliche Verhaltensweisen einlassen. 🎜

Das obige ist der detaillierte Inhalt vonBeispiel für die Entwicklung eines einfachen PHP-Webcrawlers. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn