sonkyokukou/goutte

Laravel 5 的 Gouette 包,一个简单的 PHP 网络爬虫

dev-master / 5.0.x-dev 2016-12-13 04:44 UTC

This package is not auto-updated.

Last update: 2024-09-28 20:14:40 UTC


README

此存储库实现了一个简单的 ServiceProvider,使得 Goutte 客户端的单例实例可以通过 FacadeLaravel 5 中轻松访问。有关 PHP 网络爬虫及其接口的更多信息,请参阅 @FriendsOfPHP/Goutte

使用 Composer 安装

在您的终端应用程序中,使用 cd 命令切换到您 laravel 项目的根目录,然后使用 composer 将项目作为依赖项添加。

$ cd ~/Sites/laravel-example-project
$ composer require sonkyokukou/goutte:@dev

这将向您的 composer.json 文件中添加以下行,并将项目及其依赖项下载到您的项目目录

// ./composer.json

  "require": {
    "php": ">=5.5.9",
    "laravel/framework": "5.2.*",
    "sonkyokukou/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 来更新自动加载器。