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ツールです。

Thunderbit

Thunderbit

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

PromptLoop

PromptLoop

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

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ツール

TableBits

TableBitsは、PDFから表データを自動的に抽出するAIツールで、迅速かつ簡単にCSV形式に変換します。

詳細を見る
ScrapeComfort

ScrapeComfort

ScrapeComfortはAIを使ったデータスクレイピングツールで、ユーザーの負担を軽減します

詳細を見る
Roborabbit

Roborabbit

Roborabbitは、AIを活用してビジネスに必要なデータを数クリックで見つけるノーコードウェブスクレイピングツールです。

詳細を見る
Webscrape AI

Webscrape AI

Webscrape AIは、手動でのスクレイピングの手間をかけずにウェブからデータを収集するための完璧なツールです。コーディングスキルは不要です。

詳細を見る
ScrapingAnt

ScrapingAnt

ScrapingAntは、ミッションクリティカルな速度、信頼性、機能を低コストで提供するエンタープライズグレードのスクレイピングAPIです。

詳細を見る
Map Lead Scraper

Map Lead Scraper

Map Lead ScraperはGoogle Mapsから情報を抽出し、B2Bリードを生成するツールです

詳細を見る
Copyfish

Copyfish

Copyfishは、画像やPDFからテキストを抽出する無料のOCRソフトウェアです。

詳細を見る
Beautiful Soup

Beautiful Soup

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

詳細を見る