linkthrow / goutte
Laravel 5 包,用于 Gouette,一个简单的 PHP 网页抓取器
dev-master / 5.0.x-dev
2016-07-29 14:41 UTC
Requires
- php: >=5.4.0
- fabpot/goutte: 2.0.4
- illuminate/support: 5.*
This package is not auto-updated.
Last update: 2024-09-18 19:12:48 UTC
README
该存储库实现了一个简单的 ServiceProvider,它通过 Facade 在 Laravel 5 中轻松访问 Goutte 客户端的单例实例。有关 php 网页抓取器及其接口的更多信息,请参阅 @FriendsOfPHP/Goutte。
使用 Composer 安装
在终端应用程序中,使用 cd
命令进入您 Laravel 项目的根目录,然后使用 Composer 将项目作为依赖项添加。
$ cd ~/Sites/laravel-example-project $ composer require weidner/goutte:@dev
这将在您的 composer.json
文件中添加以下行,并将项目及其依赖项下载到您的项目的 ./vendor
目录中
// ./composer.json { "name": "weidner/laravel-goutte-test", "description": "A dummy project used to test the Laravel Goutte Facade.", // ... "require": { "php": ">=5.5.9", "laravel/framework": "5.2.*", "weidner/goutte": "@dev", // ... }, //... }
用法
为了使用静态接口,我们首先必须自定义应用程序配置,告诉系统它可以在哪里找到新的服务。在您选择的编辑器中打开文件 config/app.php
,并添加以下行 ([1]
,[2]
)
// config/app.php return [ // ... 'providers' => [ // ... /* * Application Service Providers... */ App\Providers\AppServiceProvider::class, App\Providers\AuthServiceProvider::class, App\Providers\EventServiceProvider::class, App\Providers\RouteServiceProvider::class, Weidner\Goutte\GoutteServiceProvider::class, // [1] ], // ... 'aliases' => [ 'App' => Illuminate\Support\Facades\App::class, 'Artisan' => Illuminate\Support\Facades\Artisan::class, // ... 'View' => Illuminate\Support\Facades\View::class, 'Goutte' => Weidner\Goutte\GoutteFacade::class, // [2] ], ];
现在您应该可以在应用程序中使用 facade。一旦您使用已注册的别名,Laravel 将自动加载相应的类。
// app/Http/routes.php Route::get('/', function() { $crawler = Goutte::request('GET', 'http://duckduckgo.com/?q=Laravel'); $url = $crawler->filter('.result__title > a')->first()->attr('href'); dump($url); return view('welcome'); });
提示: 如果您检索到 "未找到类 'Goutte'" 异常,请尝试通过在项目根目录中运行 composer dump-autoload
来更新自动加载器。