linkthrow/goutte

Laravel 5 包,用于 Gouette,一个简单的 PHP 网页抓取器

dev-master / 5.0.x-dev 2016-07-29 14:41 UTC

This package is not auto-updated.

Last update: 2024-09-18 19:12:48 UTC


README

该存储库实现了一个简单的 ServiceProvider,它通过 FacadeLaravel 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 来更新自动加载器。