thingston / crawler
基于PHP Guzzle HTTP Client的Web爬虫,支持并发以实现更快的操作。
0.7.0
2018-11-01 22:41 UTC
Requires
- php: ^7.1
- doctrine/dbal: ^2.8
- guzzlehttp/guzzle: ^6.3
- jakubkulhan/chrome-devtools-protocol: ^1.0
- jwage/purl: ^0.0.10
- league/flysystem: ^1.0
- monolog/monolog: ^1.23
- psr/http-message: ^1.0
- psr/log: ^1.0
- symfony/css-selector: ^4.1
- symfony/dom-crawler: ^4.1
- t1gor/robots-txt-parser: ^0.2.4
- zendframework/zend-feed: ^2.10
Requires (Dev)
- phpunit/phpunit: ^7.4
- squizlabs/php_codesniffer: ^3.3
- symfony/var-dumper: ^4.1
README
基于PHP Guzzle HTTP Client的Web爬虫,支持并发以实现更快的操作。包括支持任何内容类型的下载、链接分析器和响应观察器。
需求
Thingston Crawler需要
- PHP 7.1或更高版本。
安装
使用Composer将Thingston Crawler添加到任何PHP项目中
composer require thingston/crawler
入门
只需创建一个新的Crawler实例,并使用任何公开URI调用start方法
use Thingston\Crawler; $crawler = new Crawler(); $crawler->start('https://www.wikipedia.org/');
为了处理爬取过程中的结果,您可以添加尽可能多的观察者。观察者是一个实现Thingston/Crawler/Observer/ObserverInterface的具体类。
报告问题
如果您发现此代码有错误,请在https://github.com/thingston/crawler/issues上创建一个GitHub问题。
贡献者
开源是贡献的产物。如果您想为Thingston做出贡献,请按照以下步骤操作
- 将最新版本fork到您自己的仓库中。
- 编写您的更改或添加,并将它们提交。
- 遵循PSR-2编码风格标准。
- 确保您的更改有完整的单元测试覆盖率。
- 转到https://github.com/thingston/crawler/pulls并创建一个新的请求。
谢谢!
更改和版本
此代码的所有相关更改都记录在一个独立的日志文件中。
版本号遵循语义版本的建议。
许可证
Thingston代码在MIT许可证下维护。