Goutte: シンプルなPHPウェブスクレイパーの紹介

Goutte

GoutteはPHP用のウェブスクレイピングライブラリで、データ抽出を簡単にしますが、非推奨です。

Goutte: シンプルなPHPウェブスクレイパーの紹介

Goutte: シンプルなPHPウェブスクレイパー

Goutteは、PHP用のスクリーンスクレイピングおよびウェブクロールライブラリです。このライブラリは、ウェブサイトをクロールし、HTML/XMLレスポンスからデータを抽出するための素晴らしいAPIを提供します。しかし、注意が必要です。Goutteは非推奨となっており、バージョン4以降はSymfony BrowserKitコンポーネントのHttpBrowserクラスへの単純なプロキシとなっています。移行するには、コード内のGoutte\ClientSymfony\Component\BrowserKit\HttpBrowserに置き換えてください。

要件

GoutteはPHP 7.1以上に依存しています。

インストール

composer.jsonファイルにfabpot/goutteを依存関係として追加します:

composer require fabpot/goutte

使用方法

Goutteクライアントインスタンスを作成します(これはSymfony\Component\BrowserKit\HttpBrowserを拡張しています):

use Goutte\Client;
$client = new Client();

リクエストを送信

リクエストメソッドを使用してリクエストを送信します:

// symfony.comのウェブサイトにアクセス
$crawler = $client->request('GET', 'https://www.symfony.com/blog/');

このメソッドは、Crawlerオブジェクト(Symfony\Component\DomCrawler\Crawler)を返します。

リンクをクリック

// "Security Advisories"リンクをクリック
$link = $crawler->selectLink('Security Advisories')->link();
$crawler = $client->click($link);

データを抽出

// このカテゴリの最新の投稿を取得し、タイトルを表示
$crawler->filter('h2 > a')->each(function ($node) {
    print $node->text()."\n";
});

フォームを送信

$crawler = $client->request('GET', 'https://github.com/');
$crawler = $client->click($crawler->selectLink('Sign in')->link());
$form = $crawler->selectButton('Sign in')->form();
$crawler = $client->submit($form, ['login' => 'fabpot', 'password' => 'xxxxxx']);
$crawler->filter('.flash-error')->each(function ($node) {
    print $node->text()."\n";
});

さらなる情報

Goutteの詳細については、BrowserKit、DomCrawler、およびHttpClient Symfonyコンポーネントのドキュメントを参照してください。

発音

Goutteは「グッテ」と発音されます。ブーツと韻を踏んでいますが、アウトとは韻を踏んでいません。

技術情報

Goutteは、以下のSymfonyコンポーネントの薄いラッパーです:BrowserKit、CssSelector、DomCrawler、およびHttpClient。

ライセンス

GoutteはMITライセンスの下でライセンスされています。

結論

Goutteは、PHPでのウェブスクレイピングを簡素化するための強力なツールですが、非推奨であるため、他の選択肢を検討することをお勧めします。最新の情報を得るために、公式ドキュメントを確認してください。

Goutteの代替ツール

Email Signature Parser

Email Signature Parser

Email Signature ParserはGmailの署名から連絡先詳細を抽出します

Crawlbase

Crawlbase

Crawlbaseはビジネス開発者向けのデータクロール・スクレイピングプラットフォームです

Diffbot

Diffbot

DiffbotはAIを活用し、Webデータの抽出と分析を支援します

Reworkd

Reworkd

Reworkdはウェブデータ抽出を自動化し、効率とコスト削減を実現

Web Scraper

Web Scraper

Web Scraperはデータ抽出を自動化する強力なツール

ParseHub

ParseHub

ParseHubは、使いやすい無料のウェブスクレイピングツールで、データ抽出を簡単にします。

Datatera.ai

Datatera.ai

Datatera.aiは、ファイルやウェブサイトを構造化データに簡単に変換するAIツールです。

PromptLoop

PromptLoop

PromptLoopは、AIを活用してウェブスクレイピングとデータ抽出を10倍効率化するプラットフォームです。

Thunderbit

Thunderbit

Thunderbitは、AIを活用したウェブ自動化ツールで、ユーザーがウェブページのスクレイピング、要約、自動入力を行うのを支援します。

Import.io

Import.io

Import.ioは、保護された高価値のウェブデータを抽出するAI駆動のプラットフォームです。

Bytebot

Bytebot

Bytebotは、コード不要のWeb自動化ツールで、クリックやフォーム入力などのブラウザ操作をガイドして自動化を簡単にします。

GoLess

GoLess

GoLessは、コーディングなしでブラウザ自動化、ウェブスクレイピング、タスク自動化を可能にするAIツールです。

Rapture Parser

Rapture Parser

Rapture Parserは、AIを活用したウェブスクレイピングAPIで、ウェブサイトから構造化データを簡単に抽出します。

UseScraper

UseScraper

UseScraperは、ウェブサイトのスクレイピングとクローリングを高速で行うAIツールです。

Webtap.ai

Webtap.ai

Webtap.aiは、自然言語クエリを使用して任意のウェブサイトからデータを取得するAIウェブスクレイピングツールです。

Extracto.bot

Extracto.bot

Extracto.botは、AIを活用したウェブスクレイピングツールで、Google Sheetsと連携して任意のサイトからデータを自動的に収集します。

SCRAP

SCRAP

SCRAPは、ウェブサイトをスクレイピングし、データを収集して指定された場所に送信するAIアシスタントです。

WebScraping.AI

WebScraping.AI

WebScraping.AIは、ブラウザ、プロキシ、CAPTCHA、HTML解析を処理する強力なAI搭載のウェブスクレイピングAPIです。

FlowScraper

FlowScraper

FlowScraperは、コーディング不要でウェブサイトの自動化とデータ抽出を簡単にするAI搭載のウェブスクレイパーです。

Data Donkee

Data Donkee

Data Donkeeは、AIを活用したウェブデータ抽出ツールで、コーディングなしで自然言語とJSONスキーマを使用してデータを抽出します。

SadCaptcha

SadCaptcha

SadCaptchaは、TikTokのキャプチャを自動的にバイパスするAI駆動のAPIで、開発者が簡単に自動化を実現できます。

注目のAIツール

DigitalOcean

DigitalOcean

DigitalOcean はデベロッパー向けの強力なクラウドプラットフォームです

詳細を見る
SingleAPI

SingleAPI

SingleAPIは、GPT-4を活用してウェブサイトをAPIに変換し、データをJSON形式で抽出するAIツールです。

詳細を見る
Octoparse AI

Octoparse AI

Octoparse AIは、カスタムAIワークフローとRPAボットを迅速に構築するプラットフォームです。コーディング不要で、誰でも簡単に自動化を始められます。

詳細を見る
Apify

Apify

Apifyは、開発者がウェブスクレイピング、データ抽出、ウェブ自動化ツールを構築、デプロイ、公開するためのプラットフォームです。

詳細を見る
Octoparse

Octoparse

Octoparseは、コード不要のウェブスクレイピングツールで、クリック数回でページを構造化データに変換します。

詳細を見る
Beautiful Soup

Beautiful Soup

Beautiful Soupは、Python用の強力なスクレイピングライブラリです。

詳細を見る
ScrapingBee

ScrapingBee

ScrapingBeeはヘッドレスブラウザとプロキシ回転を処理し、ウェブスクレイピングを簡単にする

詳細を見る
Bright Data

Bright Data

Bright DataはAIを活用したウェブスクレイピングとプロキシの総合プラットフォーム

詳細を見る