Beanbun可擴(kuò)展的爬蟲框架
簡介
Beanbun 是一個簡單可擴(kuò)展的爬蟲框架,支持分布式,支持守護(hù)進(jìn)程模式與普通模式,守護(hù)進(jìn)程模式基于 Workerman,下載器基于 Guzzle。
特點
- 支持守護(hù)進(jìn)程與普通兩種模式(守護(hù)進(jìn)程模式只支持 Linux 服務(wù)器)
- 默認(rèn)使用 guzzle 進(jìn)行爬取
- 支持分布式
- 支持內(nèi)存、Redis 等多種隊列方式
- 支持自定義URI過濾
- 支持廣度優(yōu)先和深度優(yōu)先兩種爬取方式
- 遵循 PSR-4 標(biāo)準(zhǔn)
- 爬取網(wǎng)頁分為多步,每步均支持自定義動作(如添加代理、修改 user-agent 等)
- 靈活的擴(kuò)展機(jī)制,可方便的為框架制作插件:自定義隊列、自定義爬取方式...
安裝
Beanbun 可以通過 composer 進(jìn)行安裝。
$ composer require kiddyu/beanbun
快速開始
創(chuàng)建一個文件 start.php,包含以下內(nèi)容
<?php
use Beanbun\Beanbun;
$beanbun = new Beanbun;
$beanbun->seed = [
'http://www.950d.com/',
'http://www.950d.com/list-1.html',
'http://www.950d.com/list-2.html',
];
$beanbun->afterDownloadPage = function($beanbun) {
file_put_contents(__DIR__ . '/' . md5($beanbun->url), $beanbun->page);
};
$beanbun->start();
在命令行中執(zhí)行
$ php start.php
接下來就可以看到抓取的日志了。
插件
- beanbun-parser 數(shù)據(jù)抽取插件 https://github.com/kiddyuchina/beanbun-parser
更多詳細(xì)內(nèi)容,請查看 文檔
評論
圖片
表情
