ホームページ  >  記事  >  バックエンド開発  >  Web クローリングとデータ抽出に PHP Goutte クラス ライブラリを使用するにはどうすればよいですか?

Web クローリングとデータ抽出に PHP Goutte クラス ライブラリを使用するにはどうすればよいですか?

PHPz
PHPzオリジナル
2023-08-09 14:16:441301ブラウズ

如何使用PHP Goutte类库进行网页爬取与数据提取?

Web クローリングとデータ抽出に PHP Goutte クラス ライブラリを使用するにはどうすればよいですか?

概要:
日々の開発プロセスでは、映画のランキングや天気予報など、インターネットからさまざまなデータを取得する必要があることがよくあります。 Web クローリングは、このデータを取得する一般的な方法の 1 つです。 PHP 開発では、Goutte クラス ライブラリを使用して、Web クローリング機能とデータ抽出機能を実装できます。この記事では、Web クローリングとデータ抽出に PHP Goutte クラス ライブラリを使用する方法を紹介し、コード例を添付します。

グーテとは何ですか?
Goutte は Symfony に基づく PHP クラス ライブラリで、特に Web クローリングとデータ抽出に使用されます。これは Symfony の CSS セレクター コンポーネントの上に構築されており、Web ページを操作するためのシンプルかつ強力な方法を提供します。 Goutte を通じて、Web クローリング、フォーム送信、データ抽出などの操作を簡単に実行できます。

Goutte クラス ライブラリをインストールします:
まず、Composer を通じて Goutte クラス ライブラリをインストールする必要があります。ターミナルを開き、プロジェクト ディレクトリを入力し、次のコマンドを実行します。

composer require fabpot/goutte

インストールが完了したら、Goutte クラス ライブラリをコードに導入して使用を開始できます。

Web クローリングとデータ抽出の例:
映画ランキング サイトから現在人気の映画に関する情報 (映画名、評価など) を取得したいとします。まず、目的のページの URL を見つけます。 Douban の映画ランキングを例に挙げます。URL は https://movie.douban.com/chart です。

次に、Goutte を使用して Web ページをクロールし、データを抽出します。以下はサンプル コードです:

// 引入Goutte类库
require 'vendor/autoload.php';

use GoutteClient;

// 创建一个Goutte客户端实例
$client = new Client();

// 发送GET请求,获取目标网页内容
$crawler = $client->request('GET', 'https://movie.douban.com/chart');

// 使用CSS选择器获取电影列表
$movies = $crawler->filter('.indent table tr')->each(function ($node) {
    // 提取电影名称
    $title = $node->filter('.pl2 a')->text();
    
    // 提取电影评分
    $rating = $node->filter('.star .rating_nums')->text();
    
    // 返回电影信息
    return [
        'title' => $title,
        'rating' => $rating,
    ];
});

// 输出结果
foreach ($movies as $movie) {
    echo $movie['title'] . ' - ' . $movie['rating'] . "
";
}

上記のコードでは、最初に Goutte のクライアント インスタンスを作成し、次に request メソッドを使用してターゲット Web ページに GET リクエストを送信し、Web ページのコンテンツを取得します。 。次に、CSS セレクターを使用してムービー リストを抽出します。CSS セレクター '.indent table tr' を使用してターゲット Web ページ内の対象となるすべての要素を表します。最後に、各ムービー ノードでいくつかのデータ抽出操作を実行し、ムービー名と評価を抽出して結果配列に保存し、最後に結果を出力します。

上記のコードを通じて、Web クローリングとデータ抽出の機能を迅速に実装できます。もちろん、Goutte にはフォーム送信、ユーザー操作のシミュレートなど、より強力な機能があります。読者は必要に応じてさらに詳しく調べることができます。

概要:
この記事では、Web クローリングとデータ抽出に PHP Goutte クラス ライブラリを使用する方法を紹介し、コード例を通じて基本的な使用法を示します。 Web クローリングとデータ抽出は、データ分析、情報収集などのさまざまなシナリオで非常に役立ちます。 Goutte クラスライブラリを利用することでこれらの機能を簡単に実装でき、開発効率が大幅に向上します。この記事が読者にとって有益であることを願っており、意見交換や議論を歓迎します。

以上がWeb クローリングとデータ抽出に PHP Goutte クラス ライブラリを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。