Wie verwende ich PHP und phpSpider, um Webinhalte in regelmäßigen Abständen automatisch zu crawlen?
Mit der Entwicklung des Internets ist das Crawlen und Verarbeiten von Webinhalten immer wichtiger geworden. In vielen Fällen müssen wir den Inhalt bestimmter Webseiten in regelmäßigen Abständen automatisch crawlen, um ihn anschließend zu analysieren und zu verarbeiten. In diesem Artikel wird erläutert, wie Sie mit PHP und phpSpider den Inhalt von Webseiten in regelmäßigen Abständen automatisch crawlen, und es werden Codebeispiele bereitgestellt.
composer require phpspider/phpspider
Erstellen Sie zunächst eine Datei mit dem Namen Spider.php und fügen Sie die automatisch ladende Datei von phpSpider in die Datei ein.
<?php require_once 'vendor/autoload.php';
Als nächstes definieren wir eine von phpSpiderSpider
geerbte Klasse, die unsere geplante Aufgabe umsetzt. phpSpiderSpider
的类,该类将实现我们的定时任务。
class MySpider extends phpSpiderSpider { // 定义需要抓取的网址 public $start_url = 'https://example.com'; // 在抓取网页之前执行的代码 public function beforeDownloadPage($page) { // 在这里可以进行一些预处理的操作,例如设置请求头信息等 return $page; } // 在抓取网页成功之后执行的代码 public function handlePage($page) { // 在这里可以对抓取到的网页内容进行处理,例如提取数据等 $html = $page['raw']; // 处理抓取到的网页内容 // ... } } // 创建一个爬虫对象 $spider = new MySpider(); // 启动爬虫 $spider->start();
解析以上代码的详细说明如下:
phpSpiderSpider
的类MySpider
。在该类中,我们定义了需要抓取的网址$start_url
。beforeDownloadPage
方法中我们可以进行一些预处理的操作,例如设置请求头信息等。该方法返回的结果将作为网页的内容传递给handlePage
方法。handlePage
方法中,我们可以对抓取到的网页内容进行处理,例如提取数据等。crontab -e
命令,打开定时任务编辑器。在编辑器中加入以下代码:
* * * * * php /path/to/spider.php > /dev/null 2>&1
其中,/path/to/spider.php
crontab spider.cron
MySpider
, die von phpSpiderSpider
erbt. In dieser Klasse definieren wir die URL $start_url
, die gecrawlt werden muss. In der Methode beforeDownloadPage
können wir einige Vorverarbeitungsvorgänge durchführen, z. B. das Festlegen von Anforderungsheaderinformationen usw. Das von dieser Methode zurückgegebene Ergebnis wird als Inhalt der Webseite an die Methode handlePage
übergeben. handlePage
können wir den erfassten Webseiteninhalt verarbeiten, z. B. Daten extrahieren usw. crontab -e
ein, um den Editor für geplante Aufgaben zu öffnen.
Fügen Sie den folgenden Code im Editor hinzu:
rrreeeUnter anderem muss /path/to/spider.php
durch den vollständigen Pfad ersetzt werden, in dem sich Spider.php befindet.
Das obige ist der detaillierte Inhalt vonWie kann ich mit PHP und phpSpider Webinhalte in regelmäßigen Abständen automatisch crawlen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!