Heim Backend-Entwicklung PHP-Tutorial Ein praktischer Leitfaden für automatisierte Webcrawler: Webcrawler mit PHP und Selenium erstellen

Ein praktischer Leitfaden für automatisierte Webcrawler: Webcrawler mit PHP und Selenium erstellen

Jun 15, 2023 pm 04:44 PM
网络爬虫 自动化 php+selenium

Webcrawler sind zu einem der wichtigsten Tools in der heutigen Internetwelt geworden. Sie können automatisch verschiedene Websites im Internet durchsuchen und nützliche Informationen extrahieren, die Menschen benötigen. Die Kerntechnologie automatisierter Webcrawler besteht darin, mithilfe von Programmiersprachen und verschiedenen Tools ein Programm zu erstellen, das Daten automatisch verarbeiten kann.

In den letzten Jahren hat sich Selenium zu einem der beliebtesten Tools im Bereich des automatisierten Web-Crawlings entwickelt. Es handelt sich um ein browserübergreifendes automatisiertes Testtool, das Benutzer simulieren kann, die verschiedene Vorgänge im Browser ausführen, z. B. Klicken, Scrollen, Tippen usw., und auch Daten von Webseiten abrufen kann. Dies macht Selenium ideal für die Erstellung automatisierter Webcrawler, da es Programmen ermöglicht, Daten auf die gleiche Weise wie normale Benutzer abzurufen.

In diesem Artikel erfahren Sie, wie Sie einen automatisierten Webcrawler mit PHP und Selenium erstellen. Das in diesem Artikel vorgestellte Crawler-Programm durchsucht automatisch die angegebene Website, extrahiert relevante Informationen wie Titel, Autor, Veröffentlichungsdatum und Artikellink aller Artikel und speichert sie schließlich in einer CSV-Datei.

Bevor wir beginnen, müssen wir PHP, Selenium und WebDriver (entsprechend dem Browsertreiber) installieren. Im Folgenden finden Sie die Details dieses Artikels:

  1. Umgebungseinstellungen und Grundkonfiguration

Zuerst müssen wir PHP in der lokalen Umgebung installieren. PHP 7 oder höher wird empfohlen. Als nächstes können Sie Selenium mit Composer installieren. Verwenden Sie den Composer-Befehl im Projektordner, um es zu installieren. Nach erfolgreicher Installation können wir mit dem Schreiben von PHP-Programmen beginnen.

  1. Aufrufen der WebDriver- und Selenium-API

Bevor wir Selenium zum Erstellen eines automatisierten Webcrawlers verwenden, müssen wir WebDriver aufrufen und eine WebDriver-Instanz erstellen, um mit dem angegebenen Browser zu kommunizieren. WebDriver ist eine Browser-Treiberschnittstelle, und verschiedene Browser erfordern unterschiedliche WebDriver.

In PHP können wir die PHP-Clientbibliothek von Selenium verwenden, um eine WebDriver-Instanz zu erstellen und diese an den WebDriver des angegebenen Browsers zu binden. Hier ist der Beispielcode:

require_once 'vendor/autoload.php';
use FacebookWebDriverRemoteDesiredCapabilities;
use FacebookWebDriverRemoteRemoteWebDriver;

// 配置浏览器类型、路径、驱动、和端口
$capabilities = DesiredCapabilities::chrome();
$driver = RemoteWebDriver::create('http://localhost:4444/wd/hub', $capabilities);
Nach dem Login kopieren
  1. Einrichten einer Browsersitzung und Öffnen der Zielwebsite

Das Erstellen einer Browsersitzung erfordert nur eine Codezeile und wir können unseren Lieblingsbrowser (Firefox oder Chrome) auswählen.

Hier verwenden wir den Chrome-Browser. Hier ist der Beispielcode:

// 使用Chrome浏览器打开目标网站
$driver->get('https://example.com');
Nach dem Login kopieren
  1. Daten suchen und extrahieren

Nachdem wir die Zielwebsite geöffnet und die Seite geladen haben, müssen wir die Elemente der erforderlichen Daten finden und abrufen. In diesem Beispiel finden wir Titel, Autor, Veröffentlichungsdatum und Artikellink aller Artikel auf der Zielwebsite.

Hier ist der Beispielcode:

// 查找所有文章标题
$titles = $driver->findElements(FacebookWebDriverWebDriverBy::cssSelector('article h2 a'));

// 查找作者名字
$author_names = $driver->findElements(FacebookWebDriverWebDriverBy::cssSelector('article .author-name'));

// 查找发布日期
$release_dates = $driver->findElements(FacebookWebDriverWebDriverBy::cssSelector('article .release-date'));

// 查找文章链接
$links = $driver->findElements(FacebookWebDriverWebDriverBy::cssSelector('article h2 a'));
Nach dem Login kopieren

Hier ist der Beispielcode zum Suchen und Extrahieren der Daten für jeden Artikel:

$articles = array();

foreach ($titles as $key => $title) {
    // 提取标题
    $article_title = $title->getText();

    // 提取作者
    $article_author = $author_names[$key]->getText();

    // 提取发布日期
    $article_date = $release_dates[$key]->getText();

    // 提取文章链接
    $article_link = $links[$key]->getAttribute('href');

    // 添加文章到数组
    $articles[] = array(
        'title' => $article_title,
        'author' => $article_author,
        'date' => $article_date,
        'link' => $article_link
    );
}
Nach dem Login kopieren
  1. Die Ergebnisse werden in einer CSV-Datei gespeichert

Der letzte Schritt besteht darin, die extrahierten Daten zu speichern in eine CSV-Datei. Daten können mit der in PHP integrierten Funktion fputcsv() in einer CSV-Datei gespeichert werden.

Das Folgende ist der Beispielcode:

// 文件流方式打开文件
$file = fopen('articles.csv', 'w');

// 表头
$header = array('Title', 'Author', 'Date', 'Link');

// 写入标题
fputcsv($file, $header);

// 写入文章数据
foreach ($articles as $article) {
    fputcsv($file, $article);
}

// 关闭文件流
fclose($file);
Nach dem Login kopieren

Damit ist die Inhaltsextraktion und Datenverarbeitung beendet. Die Daten in der CSV-Datei können für spätere Analysen und Anwendungen genutzt werden. Darüber hinaus können die Daten zur weiteren Verarbeitung in andere Datenbanken importiert werden.

Zusammenfassend haben wir in diesem Artikel gesehen, wie man mit PHP und Selenium einen automatisierten Webcrawler erstellt und wie man die Daten der Zielwebsite erhält, verarbeitet und in einer CSV-Datei speichert. Dieses Beispiel ist nur eine einfache Demonstration, die auf verschiedene Szenarien angewendet werden kann, in denen Daten von der Website abgerufen werden müssen, z. B. SEO, Analyse von Wettbewerbsprodukten usw.

Das obige ist der detaillierte Inhalt vonEin praktischer Leitfaden für automatisierte Webcrawler: Webcrawler mit PHP und Selenium erstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So lösen Sie Code-Redundanzprobleme in der C++-Entwicklung So lösen Sie Code-Redundanzprobleme in der C++-Entwicklung Aug 22, 2023 pm 05:30 PM

So lösen Sie das Code-Redundanzproblem in der C++-Entwicklung. Coderedundanz bedeutet, dass beim Schreiben eines Programms an mehreren Stellen ähnliche oder wiederholte Codes vorhanden sind. Dieses Problem erschwert nicht nur die Wartung und das Lesen des Codes, sondern erhöht auch die Größe und Komplexität des Codes. Für C++-Entwickler ist es besonders wichtig, das Problem der Code-Redundanz zu lösen, da C++ eine leistungsstarke Programmiersprache ist, es aber auch leicht zu Code-Duplizierung kommen kann. Die Hauptursache für Code-Redundanzprobleme liegt in unangemessenen Design- und Codierungsgewohnheiten. Um dieses Problem zu lösen, können Sie von folgenden Aspekten ausgehen: Verwenden Sie Funktionen und Klassen: C

Verstehen Sie die Unterschiede und Vergleiche zwischen SpringBoot und SpringMVC Verstehen Sie die Unterschiede und Vergleiche zwischen SpringBoot und SpringMVC Dec 29, 2023 am 09:20 AM

Vergleichen Sie SpringBoot und SpringMVC und verstehen Sie deren Unterschiede. Mit der kontinuierlichen Weiterentwicklung der Java-Entwicklung ist das Spring-Framework für viele Entwickler und Unternehmen zur ersten Wahl geworden. Im Spring-Ökosystem sind SpringBoot und SpringMVC zwei sehr wichtige Komponenten. Obwohl beide auf dem Spring-Framework basieren, gibt es einige Unterschiede in Funktionen und Verwendung. Dieser Artikel konzentriert sich auf den Vergleich von SpringBoot und Spring

So erstellen Sie eine leistungsstarke Webcrawler-Anwendung mit React und Python So erstellen Sie eine leistungsstarke Webcrawler-Anwendung mit React und Python Sep 26, 2023 pm 01:04 PM

So erstellen Sie eine leistungsstarke Webcrawler-Anwendung mit React und Python Einführung: Ein Webcrawler ist ein automatisiertes Programm, das zum Crawlen von Webseitendaten durch das Internet verwendet wird. Mit der kontinuierlichen Weiterentwicklung des Internets und dem explosionsartigen Datenwachstum erfreuen sich Webcrawler immer größerer Beliebtheit. In diesem Artikel wird erläutert, wie Sie mit React und Python, zwei beliebten Technologien, eine leistungsstarke Webcrawler-Anwendung erstellen. Wir werden die Vorteile von React als Front-End-Framework und Python als Crawler-Engine untersuchen und spezifische Codebeispiele bereitstellen. 1. Für

Jenkins in PHP Continuous Integration: Master of Build and Deployment Automation Jenkins in PHP Continuous Integration: Master of Build and Deployment Automation Feb 19, 2024 pm 06:51 PM

In der modernen Softwareentwicklung ist die kontinuierliche Integration (CI) zu einer wichtigen Methode zur Verbesserung der Codequalität und Entwicklungseffizienz geworden. Unter diesen ist Jenkins ein ausgereiftes und leistungsstarkes Open-Source-CI-Tool, das sich besonders für PHP-Anwendungen eignet. Der folgende Inhalt befasst sich mit der Verwendung von Jenkins zur Implementierung der kontinuierlichen PHP-Integration und stellt spezifischen Beispielcode und detaillierte Schritte bereit. Jenkins-Installation und -Konfiguration Zunächst muss Jenkins auf dem Server installiert werden. Laden Sie einfach die neueste Version von der offiziellen Website herunter und installieren Sie sie. Nach Abschluss der Installation sind einige grundlegende Konfigurationen erforderlich, einschließlich der Einrichtung eines Administratorkontos, der Plug-in-Installation und der Auftragskonfiguration. Erstellen Sie einen neuen Job. Klicken Sie im Jenkins-Dashboard auf die Schaltfläche „Neuer Job“. Wählen Sie „Freigaben“.

So löschen Sie die Automatisierung von Apple-Verknüpfungsbefehlen So löschen Sie die Automatisierung von Apple-Verknüpfungsbefehlen Feb 20, 2024 pm 10:36 PM

So löschen Sie die Automatisierung von Apple-Verknüpfungen Mit der Einführung des neuen iOS13-Systems von Apple können Benutzer Verknüpfungen (Apple Shortcuts) verwenden, um verschiedene Mobiltelefonvorgänge anzupassen und zu automatisieren, was das Mobiltelefonerlebnis des Benutzers erheblich verbessert. Manchmal müssen wir jedoch möglicherweise einige Verknüpfungen löschen, die nicht mehr benötigt werden. Wie kann man also die Automatisierung von Apple-Kurzbefehlsbefehlen löschen? Methode 1: Löschen Sie über die Shortcuts-App. Öffnen Sie auf Ihrem iPhone oder iPad die App „Shortcuts“. Wählen Sie in der unteren Navigationsleiste aus

Verwenden Sie Python-Skripte, um die Aufgabenplanung und -automatisierung unter der Linux-Plattform zu implementieren Verwenden Sie Python-Skripte, um die Aufgabenplanung und -automatisierung unter der Linux-Plattform zu implementieren Oct 05, 2023 am 10:51 AM

Verwendung von Python-Skripten zur Implementierung der Aufgabenplanung und -automatisierung unter der Linux-Plattform In der modernen Informationstechnologieumgebung sind Aufgabenplanung und -automatisierung für die meisten Unternehmen zu unverzichtbaren Werkzeugen geworden. Als einfache, leicht zu erlernende und funktionsreiche Programmiersprache eignet sich Python sehr praktisch und effizient für die Implementierung der Aufgabenplanung und -automatisierung auf der Linux-Plattform. Python bietet eine Vielzahl von Bibliotheken für die Aufgabenplanung. Die am häufigsten verwendete und leistungsstärkste davon ist crontab. Crontab ist ein Verwaltungs- und Planungssystem

Wie Robotik und künstliche Intelligenz Lieferketten automatisieren können Wie Robotik und künstliche Intelligenz Lieferketten automatisieren können Feb 05, 2024 pm 04:40 PM

Automatisierungstechnik findet in verschiedenen Branchen, insbesondere im Supply-Chain-Bereich, breite Anwendung. Heute ist es ein wichtiger Bestandteil der Supply-Chain-Management-Software. Mit der Weiterentwicklung der Automatisierungstechnik wird sich in Zukunft die gesamte Supply Chain und Supply Chain Management Software stark verändern. Dies wird zu einer effizienteren Logistik und Bestandsverwaltung führen, die Geschwindigkeit und Qualität von Produktion und Lieferung verbessern und wiederum die Entwicklung und Wettbewerbsfähigkeit von Unternehmen fördern. Vorausschauende Supply-Chain-Akteure sind bereit, mit der neuen Situation umzugehen. CIOs sollten die Führung übernehmen, um die besten Ergebnisse für ihre Organisationen sicherzustellen. Dabei ist es von entscheidender Bedeutung, die Rolle von Robotik, künstlicher Intelligenz und Automatisierung in der Lieferkette zu verstehen. Was ist Supply-Chain-Automatisierung? Unter Supply-Chain-Automatisierung versteht man den Einsatz technologischer Mittel, um die menschliche Beteiligung an Lieferkettenaktivitäten zu reduzieren oder zu eliminieren. Es deckt eine Vielzahl von Themen ab

Anmerkungen zur PHP-Studie: Webcrawler und Datenerfassung Anmerkungen zur PHP-Studie: Webcrawler und Datenerfassung Oct 08, 2023 pm 12:04 PM

Anmerkungen zur PHP-Studie: Webcrawler und Datenerfassung Einführung: Ein Webcrawler ist ein Tool, das automatisch Daten aus dem Internet crawlt. Es kann menschliches Verhalten simulieren, Webseiten durchsuchen und die erforderlichen Daten sammeln. Als beliebte serverseitige Skriptsprache spielt PHP auch im Bereich Webcrawler und Datenerfassung eine wichtige Rolle. In diesem Artikel wird erklärt, wie man einen Webcrawler mit PHP schreibt, und praktische Codebeispiele bereitgestellt. 1. Grundprinzipien von Webcrawlern Die Grundprinzipien von Webcrawlern bestehen darin, HTTP-Anfragen zu senden, die H-Antwort des Servers zu empfangen und zu analysieren.

See all articles