gueroverde / goutte
Laravel 5 中的 Goutte 简单 PHP 网络爬虫的包
1.3.0
2019-09-10 03:44 UTC
Requires
- php: >=5.4.0
- fabpot/goutte: ^3.2
- illuminate/support: 5.*|^6.0
Requires (Dev)
- orchestra/testbench: ^3.8
This package is auto-updated.
Last update: 2024-09-12 06:44:47 UTC
README
此仓库实现了一个简单的 ServiceProvider,它通过 Facade 在 Laravel 5 中轻松访问 Goutte 客户端的单例实例。有关 PHP 网络爬虫及其接口的更多信息,请参阅 @FriendsOfPHP/Goutte。
使用 Composer 进行安装
在终端应用程序中,使用 cd
命令移动到您的 Laravel 项目的根目录,并使用 composer 将项目作为依赖项引入。
$ cd ~/Sites/laravel-example-project $ composer require gueroverde/goutte
这将向您的 composer.json
文件中添加以下行,并将项目及其依赖项下载到您的项目 ./vendor
目录。
// ./composer.json { "name": "gueroverde/laravel-goutte-test", "description": "A dummy project used to test the Laravel Goutte Facade.", // ... "require": { "php": ">=5.5.9", "laravel/framework": "^6.0", "gueroverde/goutte": "1.3.*", // ... }, //... }
使用方法
为了使用静态接口,我们首先需要自定义应用程序配置,以告诉系统它可以在哪里找到新的服务。在您的首选编辑器中打开 config/app.php
文件,并添加以下行([1]
,[2]
)。
// config/app.php return [ // ... 'providers' => [ // ... /* * Package Service Providers... */ Weidner\Goutte\GoutteServiceProvider::class, // [1] /* * Application Service Providers... */ App\Providers\AppServiceProvider::class, App\Providers\AuthServiceProvider::class, App\Providers\EventServiceProvider::class, App\Providers\RouteServiceProvider::class, ], // ... 'aliases' => [ 'App' => Illuminate\Support\Facades\App::class, 'Artisan' => Illuminate\Support\Facades\Artisan::class, // ... 'Goutte' => Weidner\Goutte\GoutteFacade::class, // [2] 'Hash' => Illuminate\Support\Facades\Hash::class, // ... ], ];
现在,您应该可以在应用程序中使用 facade。一旦使用已注册的别名,Laravel 将自动加载相应的类。
// routes/web.php Route::get('/', function() { $crawler = Goutte::request('GET', 'https://duckduckgo.com/html/?q=Laravel'); $crawler->filter('.result__title .result__a')->each(function ($node) { dump($node->text()); }); return view('welcome'); });
提示:如果您检索到 "找不到类 'Goutte'" 异常,请尝试通过在项目根目录中运行 composer dump-autoload
来更新自动加载器。
配置
您可以根据需要自定义默认请求选项,以应用于客户端的每个请求。首先将默认配置复制到您的应用程序目录。
php artisan vendor:publish --provider="Weidner\Goutte\GoutteServiceProvider"
在 config/goutte.php
中打开创建的文件,并根据您的喜好自定义配置选项。
<?php return [ 'client' => [ 'allow_redirects' => false, 'cookies' => true, ], ];
有关可用的选项完整列表,请参阅 Guzzle 文档。