Heim  >  Artikel  >  Backend-Entwicklung  >  Wie extrahiere ich mit PHP und phpSpider die erforderlichen Informationen aus einer Webseite?

Wie extrahiere ich mit PHP und phpSpider die erforderlichen Informationen aus einer Webseite?

王林
王林Original
2023-07-22 21:03:16804Durchsuche

Wie extrahiere ich erforderliche Informationen aus Webseiten mit PHP und phpSpider?

Mit der rasanten Entwicklung des Internets nimmt auch die Informationsmenge auf Webseiten zu. Die genaue und effiziente Extraktion der erforderlichen Informationen aus umfangreichen Webseiten ist für viele Entwickler zu einem Problem geworden. Als eine in der Webentwicklung weit verbreitete Sprache bietet PHP eine Fülle von Bibliotheken und Tools. Unter anderem ist phpSpider ein leistungsstarkes Crawler-Framework, das uns bei der effizienten Extraktion von Webseitendaten helfen kann.

In diesem Artikel erfahren Sie, wie Sie mit PHP und phpSpider einen einfachen Webcrawler erstellen, um die erforderlichen Informationen aus der Webseite zu extrahieren.

1. Installieren Sie phpSpider

Zuerst müssen wir phpSpider installieren. phpSpider ist ein PHP-basiertes Crawler-Framework, das über Composer installiert werden kann. Führen Sie den folgenden Befehl in der Befehlszeile aus:

composer require php-spider/phpspider

2. Schreiben Sie den Crawler-Code

Als nächstes beginnen wir mit dem Schreiben des Crawler-Codes. Erstellen Sie zunächst eine Datei mit dem Namen „spider.php“ und fügen Sie darin die Autoloading-Datei von phpSpider ein:

<?php

require 'vendor/autoload.php';

use phpspidercorephpspider;

// 创建一个爬虫对象
$spider = new phpspider();

// 设置爬虫的初始URL
$spider->add_start_url('http://www.example.com');

// 设置爬虫的抓取规则
$spider->on_extract_page = function ($page, $data) {

    // 在此处编写提取所需信息的代码
    // 可以使用正则表达式、XPath或CSS选择器来定位和提取

    return $data;
};

// 启动爬虫
$spider->start();

Im obigen Code haben wir ein Crawler-Objekt $spider erstellt und die anfängliche URL des Crawlers auf http://www.example.com festgelegt . Als nächstes definieren wir eine Callback-Funktion $spider->on_extract_page für die Verarbeitung beim Extrahieren der Seite. Innerhalb dieser Rückruffunktion können wir reguläre Ausdrücke, XPath oder CSS-Selektoren verwenden, um die erforderlichen Informationen zu finden und zu extrahieren.

3. Suchen und extrahieren Sie die erforderlichen Informationen

In der Callback-Funktion des Crawlers können wir reguläre Ausdrücke, XPath- oder CSS-Selektoren verwenden, um die erforderlichen Informationen zu finden und zu extrahieren. Nehmen wir als Beispiel die Verwendung von CSS-Selektoren und gehen davon aus, dass wir den Titel und den Textkörper aus der Webseite extrahieren müssen. Die Rückruffunktion kann wie folgt geändert werden:

$spider->on_extract_page = function ($page, $data) {

    // 使用CSS选择器定位标题和正文的元素
    $title = $page['raw']['headers']['title'][0];
    $content = $page['raw']['content'];

    // 提取标题和正文的文本内容
    $data['title'] = $title;
    $data['content'] = strip_tags($content);

    return $data;
};

Im obigen Code verwenden wir $page['raw' ]['headers'][' title'][0] Um den Titel der Webseite abzurufen, verwenden Sie $page'raw', um den Originalinhalt der Webseite abzurufen. Verwenden Sie dann die Funktion „strip_tags“, um die HTML-Tags im Text zu entfernen und den extrahierten Titel und Text im Array „$data“ zu speichern.

4. Speichern Sie die Extraktionsergebnisse

Abschließend können wir die extrahierten Ergebnisse in einer Datenbank, Datei oder einem anderen Speichermedium speichern. Am Beispiel des Speicherns in eine Datei kann die Rückruffunktion wie folgt geändert werden:

$spider->on_extract_page = function ($page, $data) {

    // 使用CSS选择器定位标题和正文的元素
    $title = $page['raw']['headers']['title'][0];
    $content = $page['raw']['content'];

    // 提取标题和正文的文本内容
    $data['title'] = $title;
    $data['content'] = strip_tags($content);

    // 保存提取结果到文件中
    file_put_contents('extracted_data.txt', var_export($data, true), FILE_APPEND);

    return $data;
};

Im obigen Code verwenden wir die Funktion file_put_contents, um das $data-Array in Form von Text in der Datei „extracted_data.txt“ zu speichern Verwenden Sie die Funktion var_export, um das Array in String-Form zu konvertieren.

5. Führen Sie den Crawler aus.

Nachdem wir mit dem Schreiben des Codes fertig sind, können wir den Crawler ausführen. Führen Sie den folgenden Befehl in der Befehlszeile aus:

php spider.php

Durch Ausführen des obigen Befehls crawlt der Crawler die Webseite beginnend mit der ursprünglichen URL, sucht und extrahiert die erforderlichen Informationen gemäß unseren Extraktionsregeln und speichert die Extraktionsergebnisse in einem Datei.

Zusammenfassung:

Mit PHP und phpSpider können wir problemlos Daten aus Webseiten extrahieren. Schreiben Sie einfach ein wenig Code und definieren Sie einfache Extraktionsregeln, um schnell die erforderlichen Informationen aus umfangreichen Webseiten zu extrahieren. Dies ist natürlich nur die grundlegende Verwendung von phpSpider. Es bietet auch leistungsfähigere Funktionen und flexible Konfigurationsoptionen, um den Anforderungen verschiedener Projekte gerecht zu werden.

Das obige ist der detaillierte Inhalt vonWie extrahiere ich mit PHP und phpSpider die erforderlichen Informationen aus einer Webseite?. 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