Wenn es um die Erstellung von Crawlern geht, denkt jeder vielleicht zuerst an Python. Tatsächlich kann PHP auch zum Schreiben von Crawler-Programmen verwendet werden. PHP war schon immer einfach und benutzerfreundlich. Ich habe persönlich getestet, dass ich mit dem PHPspider-Framework ein einfaches Crawler-Programm in 10 Minuten schreiben kann.
1. PHP-Umgebungsinstallation
Wie Python benötigt auch PHP eine Umgebung, die von der offiziellen Website heruntergeladen wurde, oder Sie können XAMPP, PHPstudy und verwenden andere integrierte Umgebungen PHP. Es wird eine integrierte Umgebung empfohlen, sodass die MySQL-Datenbank nicht separat installiert werden muss.
2. Composer-Installation
Composer ist ein Abhängigkeitspaketverwaltungstool unter PHP, ähnlich wie PIP in Python.
Die offizielle chinesische Website ist https://www.phpcomposer.com/
Führen Sie einfach cmd mit win+R aus und geben Sie den Composer-Befehl ein , die Installation ist erfolgreich.
3. PHPspider-Installation
Erstellen Sie einen Ordner an einem beliebigen Ort, wenn wir beispielsweise die Daten erfassen möchten Kurzes Buch, wir Sie können den Jianshu-Ordner auf dem Laufwerk D erstellen, dann den Ordner mit dem Befehl cmd eingeben und den Befehl ausführen:
composer require owner888/phpspider
Das folgende Ergebnis ist eine erfolgreiche Installation.
Verwandte Empfehlungen: „Einrichtung der PHP-Umgebung“
4. Beginnen Sie mit dem Schreiben des ersten Crawlers
Öffnen Sie nun den Jianshu-Ordner. Sie werden feststellen, dass sich darin noch einige weitere Dinge befinden. Machen Sie sich keine Sorgen, erstellen Sie eine PHP-Datei und beginnen Sie mit dem Codieren.
Die Entwicklungsdokumentation ist hier: https://doc.phpspider.org/demo-start.html
Ich werde nicht über die Grundlagen sprechen Gehen Sie hier einfach direkt zum Code, da wir ein 10-minütiges kurzes Tutorial durchführen.
Die Matching-Methode verwendet XPach-Syntax.
<?php require '/vendor/autoload.php'; use phpspider\core\phpspider; /* Do NOT delete this comment */ /* 不要删除这段注释 */ $configs = array( 'name' => '简书', 'log_show' =>false, 'tasknum' => 1, //数据库配置 'db_config' => array( 'host' => '127.0.0.1', 'port' => 3306, 'user' => 'root', 'pass' => '', 'name' => 'demo', ), 'export' => array( 'type' => 'db', 'table' => 'jianshu', // 如果数据表没有数据新增请检查表结构和字段名是否匹配 ), //爬取的域名列表 'domains' => array( 'jianshu', 'www.jianshu.com' ), //抓取的起点 'scan_urls' => array( 'https://www.jianshu.com/c/V2CqjW?utm_medium=index-collections&utm_source=desktop' ), //列表页实例 'list_url_regexes' => array( "https://www.jianshu.com/c/\d+" ), //内容页实例 // \d+ 指的是变量 'content_url_regexes' => array( "https://www.jianshu.com/p/\d+", ), 'max_try' => 5, 'fields' => array( array( 'name' => "title", 'selector' => "//h1[@class='title']", 'required' => true, ), array( 'name' => "content", 'selector' => "//div[@class='show-content-free']", 'required' => true, ), ), ); $spider = new phpspider($configs); $spider->start();
Lassen Sie uns die Bedeutung der Syntax ein wenig erklären:
//h1[@class='title']
Alle h1-Knoten mit dem Klassenwert title abrufen
//div[@class='show-content-free']
Alle Divs mit dem Klassenwert show-content-free abrufen Nachdem Sie den Code für den Knoten
fertiggestellt haben, denken Sie daran, die entsprechende Datenbank und Datentabelle entsprechend dem zu erfassenden Inhalt einzurichten und die Felder auszurichten.
Geben Sie dann cmd ein:
php -f d:\jianshu\spider.php
Führen Sie Folgendes aus:
Öffnen Sie die Daten und werfen Sie einen Blick darauf. Haben Sie alles erfasst?
Das obige ist der detaillierte Inhalt vonSo installieren Sie das PHP-Crawler-Framework. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!