uocnv/spatie-crawler-toolkit-for-laravel
当与Laravel一起使用Spatie的爬虫时,提供便捷的类。
1.0
2022-06-28 09:17 UTC
Requires
- php: ^7.2|^8.0
- laravel/framework: ^6.0|^7.0|^8.0
- spatie/crawler: ^6.0.0|^7.0
Requires (Dev)
- symfony/thanks: ^1.2
This package is auto-updated.
Last update: 2024-09-17 11:03:17 UTC
README
PHP 8应该可以工作,但尚未进行全面测试。请报告您可能发现的任何问题!
一套用于在Laravel中使用Spatie的爬虫的类。目标是简化构建爬虫应用程序或将爬虫添加到现有Laravel项目中的操作。目前实现了以下辅助类
缓存爬取队列
CacheCrawlQueue允许您使用Laravel中预先配置的Cache来存储队列。它将队列上执行的所有操作直接存储,以避免手动存储队列的需求。您可以直接将其添加到您的爬虫中
Crawler::create() ->setCrawlQueue(new \Spekulatius\SpatieCrawlerToolkit\Queues\CacheCrawlQueue($url)) ->startCrawling($url);
有了这个,您可以在任何时间停止爬取并重新启动。这需要在您的.env文件中配置缓存驱动程序。
爬取记录器
Crawl Logger是一个观察器,您可以将其添加到爬虫中以启用爬取事件的记录
Crawler::create() ->setCrawlObserver(new \Spekulatius\SpatieCrawlerToolkit\Observers\CrawlLogger) ->startCrawling($url);
您可以导出配置(见下文)以调整哪些事件被记录。
爬取事件
该工具包包含一个观察器,可以发送Laravel事件,使您能够对爬取事件做出反应。这包括以下事件
默认情况下,不会发出任何事件。要启用事件,您需要将事件观察器添加到爬虫中
$event_observer = new \Spekulatius\SpatieCrawlerToolkit\Observers\CrawlEvents; Crawler::create() ->setCrawlObserver($event_observer) ->startCrawling($url);
可以将可选的标识符传递给爬取事件,以区分不同的爬取
$event_observer = new \Spekulatius\SpatieCrawlerToolkit\Observers\CrawlEvents('my-crawl');
计划功能
- 使用Laravel队列批量爬取。
对于如何增强此功能的有任何建议,请提出问题。
要求 & 安装
要求
- Laravel 6、7或8。
- 在Laravel中配置缓存和日志。
安装
composer require spekulatius/spatie-crawler-toolkit-for-laravel
可选,您可以发布配置文件
php artisan vendor:publish --tag=crawler-toolkit-config
贡献
请提出PR或问题。
许可证
在MIT许可证下发布。有关更多信息,请参阅许可证文件。