WebCrawler.
Build with Laravel Dusk and Symfony DomCrawler.
- PHP >= 7.1.3
- Latest Chrome. Linux, Mac, Windows.
composer require revolution/salvager
php artisan vendor:publish --provider="Revolution\Salvager\Providers\SalvagerServiceProvider"
- ServiceProvider:
Revolution\Salvager\Providers\SalvagerServiceProvider::class,
- Facade:
Revolution\Salvager\Facades\Salvager::class,
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/
You can use the Salvager
Facade anywhere. Controller, Command, Job...
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
MIT
Copyright kawax