革命 / 回收者
此包已被放弃,不再维护。未建议替代包。
使用 Laravel Dusk 和 Symfony DomCrawler 构建的 WebCrawler
1.6.0
2022-08-25 06:28 UTC
Requires
- php: ^8.0
- laravel/dusk: ^6.0||^7.0
- symfony/dom-crawler: ^5.0||^6.0
Requires (Dev)
- mockery/mockery: ^1.3.1
- orchestra/testbench: ^6.0||^7.0
- phpunit/phpunit: ^9.0
README
WebCrawler.
使用 Laravel Dusk 和 Symfony DomCrawler 构建。
要求
- PHP >= 8.0
- 最新版 Chrome。Linux、Mac、Windows。
安装
composer require revolution/salvager
Laravel 配置(选项)
php artisan vendor:publish --provider="Revolution\Salvager\Providers\SalvagerServiceProvider"
Lumen、Laravel Zero
- ServiceProvider:
Revolution\Salvager\Providers\SalvagerServiceProvider::class,
- Facade:
Revolution\Salvager\Facades\Salvager::class,
使用 Docker 的纯 PHP 示例
git clone https://github.com/kawax/salvager.git salvager && cd $_
docker-compose run --rm composer install
docker-compose run --rm example google.php
//Show Google search results.
//Store screenshot at ./examples/screenshots/
用法(Laravel)
您可以在任何地方使用 Salvager
Facade。控制器、命令、作业...
use Laravel\Dusk\Browser; use Symfony\Component\DomCrawler\Crawler; use Revolution\Salvager\Facades\Salvager; class SalvagerController { public function __invoke() { Salvager::browse(function (Browser $browser) use (&$crawler) { $crawler = $browser->visit('https://www.google.com/') ->keys('input[name=q]', 'Laravel', '{enter}') ->screenshot('google-laravel') ->crawler(); }); /** * @var Crawler $crawler */ $crawler->filter('.r')->each(function (Crawler $node) { dump($node->filter('h3')->text()); dump($node->filter('a')->attr('href')); }); } }
https://github.com/kawax/salvager-project
开发
docker-compose run --rm phpunit
授权协议
MIT