宣告:本人沒有將爬蟲資料用於非法途徑!本文僅作為技術分享!PHP果然是最好的程式語言
在公司上班早早的完成任務了,閒著沒事玩玩PHP的爬蟲
本文用到的PHP爬蟲庫為PHPSPIDER
,官方文件:PHPSPIDER,這個擴充套件還是去年剛參加工作的時候在Learnku
瞭解到的。
執行截圖
- 該擴充套件必須在命令列下執行!官方文件有寫
- 該擴充套件支援多執行緒,但是配置比較麻煩,自己懶得配
- 支援多種選擇器,預設是XPATH
- 支援多種資料儲存方式
大家在學習之前推薦先看看這篇文章:爬蟲前測試
爬取Learnku結果
- 資料有重複
- 執行10分鐘獲取條數300條(單執行緒)
安裝
composer require owner888/phpspider
require './vendor/autoload.php';
use phpspider\core\phpspider;
測試程式碼
<?php
require './vendor/autoload.php';
use phpspider\core\phpspider;
/* Do NOT delete this comment */
/* 不要刪除這段註釋 */
$configs = array(
'name' => 'Laravel',
'log_show' => false,
'domains' => array(
'learnku.com',
),
'scan_urls' => array(
'https://learnku.com/laravel'
),
'content_url_regexes' => array(
"https://learnku.com/laravel/t/\d+"
),
'list_url_regexes' => array(
"https://learnku.com/laravel?page=\d+"
),
'fields' => array(
// array(
// // 抽取內容頁的文章內容
// 'name' => "article_content",
// 'selector' => "/html/body/div[2]/div[1]/div[2]/div[1]/div[1]/div/div[3]",
// 'required' => true
// ),
array(
// 抽取內容頁的文章標題
'name' => "article_title",
'selector' => "/html/body/div[2]/div[1]/div[2]/div[1]/div[1]/div/h1/div[1]/span",
'required' => true
),
),
'export' => array(
'type' => 'csv',
'file' => './qiushibaike.csv',
)
);
$spider = new phpspider($configs);
$spider->start();
總結
之前沒有系統的學習過爬蟲相關的知識,跟著文件走大概除錯了半小時勉強能做出點效果,單執行緒執行了10分鐘獲取到了300條資料,速度還是可以的。有興趣大家學習學習。
本次爬蟲用了Learnku做了測試,若有影響可以刪帖。
本作品採用《CC 協議》,轉載必須註明作者和本文連結