nelexa/roach-php-bundle

Roach PHP/core 的 Symfony 扩展包

安装: 647

依赖: 0

建议者: 0

安全: 0

星标: 9

关注者: 3

分支: 2

开放问题: 0

类型:symfony-bundle

1.1.1 2022-10-03 12:30 UTC

This package is auto-updated.

Last update: 2024-08-30 01:17:58 UTC


README

roach-php-bundle

roach-php-bundle

Symfony 扩展包,用于 Roach PHP

Latest Stable Version PHP Version Require Tests Build Status Scrutinizer Code Quality Code Coverage License

Roach 是一个完整的 PHP 网络爬虫工具包。它受到流行的 Scrapy Python 包的强烈启发。

Symfony 扩展包主要提供了 Roach 使用所需的容器绑定,以及通过配置文件提供某些配置选项。要了解如何实际开始使用 Roach,请参阅其余的文档

安装 Symfony 扩展包

nelexa/roach-php-bundle 添加到您的 composer.json 文件中

composer require nelexa/roach-php-bundle

版本和依赖关系

注册扩展包

将扩展包注册到 config/bundles.php(Flex 自动完成)

return [
    //...
    \Nelexa\RoachPhpBundle\RoachPhpBundle::class => ['all' => true],
];

可用命令

Roach 的 Symfony 扩展包注册了一些控制台命令,以使开发体验尽可能愉快。

运行蜘蛛

php bin/console roach:run

之后,您将获得所有可用的蜘蛛列表。


 Choose a spider class:
  [0] App\Spider\GoogleSpider
  [1] App\Spider\FacebookSpider
  [2] App\Spider\TwitterSpider

只需选择所需的蜘蛛(▼ 或 ▲)或输入其编号并按 Enter 键。

您可以将蜘蛛类名或其别名作为第一个参数传递来运行。例如,如果您有一个类 App\Spider\GoogleSpider,那么您可以传递以下别名:GoogleSpidergoogle_spidergoogle

php bin/console roach:run google

有时覆盖并发请求数量和预请求延迟很有用。为此,您可以传递 --concurrency--delay 选项。

php bin/console roach:php google --concurrency 8 --delay 2

这些选项覆盖了蜘蛛的公共属性 $concurrency 和 $requestDelay。

添加 --output-o)选项,您可以将收集到的数据保存到 JSON 文件中。

php bin/console roach:php google --output 'path/to/data.json'

启动 REPL

Roach 随带一个交互式 shell(通常称为 Read-Evaluate-Print-Loop,简称 Repl),这使得我们的蜘蛛原型设计变得容易。我们可以使用提供的 roach:shell 命令来启动新的 Repl 会话。

php bin/console roach:shell "https://roach-php.dev/docs/introduction"

生成器类

首先安装 Symfony MakerBundle

composer require --dev symfony/maker-bundle

创建一个新的 roach 蜘蛛类

php bin/console make:roach:spider

创建一个新的 roach 扩展类

php bin/console make:roach:extension

创建一个新的 roach 项处理器类

php bin/console make:roach:item:processor

创建一个新的 roach 下载器请求中间件类

php bin/console make:roach:middleware:downloader:request

创建一个新的 roach 下载器响应中间件类

php bin/console make:roach:middleware:downloader:response

创建一个新的 roach 蜘蛛项中间件类

php bin/console make:roach:middleware:spider:item

创建一个新的 roach 蜘蛛请求中间件类

php bin/console make:roach:middleware:spider:request

创建一个新的 roach 蜘蛛响应中间件类

php bin/console make:roach:middleware:spider:response

屏幕截图

asciicast

鸣谢

变更日志

更改记录在发布页面上。

许可证

MIT 许可证(MIT)。有关更多信息,请参阅LICENSE