メインコンテンツへスキップ

Documentation Index

Fetch the complete documentation index at: https://www.octoparse.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

ブラウザ自動化の解説記事のほとんどは、1つのツールを単体で取り上げます。より有用な問いは、この領域がどう広がっているのか — どんな種類の実行環境が存在し、それぞれが何を得意とし、スクレイピング目的で選ぶときに本当に効く軸はどれか、です。最も決定的な軸は言語でもブラウザエンジンでもなく、その実行環境がヘッドレスを既定とするか、ヘッド付きを設計とするかです。エコシステムのほぼ全体はヘッドレス側にあります。集成型のスクレイピングプラットフォーム — その最も明確な例がOctoparse — はヘッド付き側にいます。ある実行環境がどちら側にいるかを知ることが、実サイト上での挙動を理解するうえで、どのスペックシートよりも雄弁です。

一覧

ツールインターフェースブラウザエンジン既定モード種別最も得意とすること
PuppeteerNode APIChromiumヘッドレスOSSライブラリJSでのChromeスクレイピング
PlaywrightNode・Python・Java・.NETChromium・Firefox・WebKitヘッドレスOSSライブラリクロスブラウザ、モダンなコード
Selenium多くの言語多くのブラウザ (WebDriver)設定可能OSSライブラリ最も広いブラウザ・レガシー対応
SplashHTTP API (Lua)WebKitヘッドレスOSSサービスScrapy内でのJS描画
WebdriverIONodeWebDriver / CDP設定可能OSSライブラリNodeでテスト風のスクレイピング
chromedp / RodGoChromiumヘッドレスOSSライブラリGo製スクレイパー
PyppeteerPythonChromiumヘッドレスOSSライブラリPuppeteer形のAPIをPythonで
HtmlUnitJava純JavaブラウザヘッドレスOSSライブラリブラウザバイナリ不要のJVMスクレイピング
puppeteer-extra-stealthNodeプラグインChromiumヘッドレスOSSプラグインPuppeteer + Bot回避
undetected-chromedriverPythonSelenium経由のChromium設定可能OSSライブラリSelenium + Bot回避
nodriverPythonCDP経由のChromiumヘッドレスOSSライブラリモダンなステルス、ドライバ不要
PatchrightNodeChromiumヘッドレスOSSフォークPlaywright + ステルスパッチ
BrowserlessHTTP APIChromiumヘッドレスクラウド / 自己ホストAPI越しにホスト型ブラウザ
BrowserbaseHTTP APIChromiumヘッドレスクラウドサービスAIエージェント向けのマネージドブラウザ
Steel.devHTTP APIChromiumヘッドレスクラウド / OSSOSSフレンドリーなクラウドブラウザ
Bright Data Scraping BrowserHTTP APIChromiumヘッドレスクラウドサービスブラウザ + アンブロック内蔵
Zyte APIHTTP APIChromiumヘッドレスクラウドサービスブラウザ + Bot対策内蔵
ScrapingBeeHTTP APIChromiumヘッドレスクラウドサービス「このURLを描画」のシンプルAPI
ScrapingAntHTTP APIChromiumヘッドレスクラウドサービスプロキシ込みの低価格スクレイピング
Apify Browser ActorsApifyプラットフォームChromium・Firefox設定可能クラウドプラットフォームApifyネイティブの大規模スクレイピング
Octoparseビジュアルワークフロー + クラウドElectron Chromium・Chrome for Testingヘッド付き集成型プラットフォームノーコード、WYSIWYG選択、設計としてのヘッド付き
ParseHubビジュアルワークフロー + クラウドChromiumヘッド付き集成型プラットフォームノーコード、似た思想
太字の行が、ヘッド付きを既定とする唯一のエントリ — そしてそれは、Octoparseが占めるレーンです。

オープンソースの自動化ライブラリ

コードベースのスクレイピングの大半はここから始まります。PuppeteerはNodeからChromiumを駆動します — 高速でモダン、Chrome専用です。Puppeteerの後継としばしば呼ばれるPlaywrightは、Node・Python・Java・.NETからChromium・Firefox・WebKitを扱えます。今日の新規プロジェクトでは、Chrome専用が必要でない限り、通常こちらが既定の選択肢になります。Seleniumはベテランです — 遅く重たいものの、WebDriverプロトコルを通じてほぼすべてのブラウザに話しかけられる点は、SafariやEdgeレガシー、モバイルブラウザのバインディングが必要なときには今でも効きます。 ビッグ3の外では、言語やエコシステムで枝分かれします。SplashはScrapyのパイプラインに組み込むJS描画サービスで、Luaでスクリプトを書きます。WebdriverIOはWebDriver / CDP駆動のAPIをテストランナー風にNodeへ持ち込みます。Goでは、chromedpRodが現実的な2つの選択肢で、人間工学的にRodが好まれる場面が多いです。PyppeteerはPython向けのPuppeteer移植で、Pythonを離れずにPuppeteerの形状を使いたいチーム向けです。HtmlUnitは異色 — Chromiumバイナリを伴わない純Javaブラウザ実装で、JSエンジンの忠実さよりJVMエコシステムを優先するときに有用です。 これらはすべて既定でヘッドレス動作です。ヘッド付きでも動かせますが、ディスプレイ(あるいはXvfbのような仮想ディスプレイ)が必要になるなど摩擦は実際にあり、現実のスクリプトの多くはわざわざ切り替えません。常態は不可視です。

ステルス・反検出の派生

対象サイトが実行環境をフィンガープリントすると、素のPuppeteerやSeleniumはすぐに弾かれます — navigator.webdriver、プラグインの欠落、ヘッドレスChromeのユーザーエージェント、canvas / WebGLの異常。ステルス派生は、それらの漏れにパッチを当てます。 puppeteer-extra-stealthは最も定着した存在で、よくあるヘッドレスのフィンガープリントに対する一連の回避策を提供するPuppeteerプラグインです。undetected-chromedriverはSelenium駆動のChromeに対して同じことを行い、PythonのBot対策界隈での定番です。nodriverは同じ著者によるより新しい、ドライバを介さないCDPベースの方式で、ネットワーク層から見たときに自然なブラウザセッションに見えるように設計されています。PatchrightはPlaywrightのフォークで、同様のステルスパッチが組み込まれており、すでにPlaywrightを使っているチーム向けです。 これらはヘッドレス / ヘッド付きの姿勢自体は変えません — 既定はあくまでヘッドレスです。ヘッドレスと「本物」のギャップを縮めますが、常に更新される検出層に対する防御戦を戦い続けることになります。

クラウドのブラウザAPI

ブラウザを自己ホストする代わりに、HTTPエンドポイントを呼び出して描画済みページや制御可能なセッションを受け取ります。Browserlessは最も定着した存在で、マネージドクラウドでも自己ホストでも動作し、Puppeteer / Playwrightからほぼそのまま差し替えられるエンドポイントを提供します。BrowserbaseSteel.devは新しい参入で、AIエージェント向けに方向付けられています(SteelはOSSフレンドリー)。Bright Data Scraping BrowserZyte APIはブラウザ実行に反Bot対策とアンブロック基盤を束ねます — 料金は上がりますが、難しい対象に対する成功率が上がります。ScrapingBeeScrapingAntは「このURLを描画」型のシンプルなAPIで、小規模チームに向きます。Apifyは独自のプラットフォームで、Browser ActorsはクラウドホストのChromiumをApifyのキューイング・ストレージと組み合わせます。 これらはすべて、ディスプレイのないサーバー上でブラウザを動かします。このカテゴリで経済的に成り立つのはヘッドレスのみです — 動作を「見る」ことはできず、戻り値だけが手元に来ます。

集成型スクレイピングプラットフォーム

このカテゴリは、上のすべてと構造的に異なります。コードから呼ぶライブラリでも、URLをPOSTするAPIでもなく、集成型プラットフォームはブラウザを組み込んだビジュアルなワークフローエディタを提供します。スクレイパーはセレクタを書くのではなく、ページをクリックして組み立てます。 Octoparseはその最も明確な例です。2種類の実行環境を持ちます — 日常的なタスク用に削ぎ落として最適化されたElectron Chromiumと、完全に真正なブラウザを求めるサイト向けにPuppeteerで制御するChrome for Testing。重要なのは、両方とも設計としてヘッド付きであることです:目に見えるページがそのままエディタの作業面だからこそ、ブラウザウィンドウが見える必要があります。ParseHubは似た思想で同じカテゴリに位置します。古参のWeb Scraper.io(Chrome拡張)もヘッド付きの系譜を共有します — ブラウザ拡張機能はヘッド付きのChromeウィンドウでしか動作できません。 ヘッド付きが設定オプションではなく既定であるのは、このカテゴリだけです。それは制約ではなく、ワークフローが依存している設計上の選択です。

ヘッドレス vs ヘッド付き:本当に効く軸

ヘッドレス / ヘッド付きの分かれ目は、その実行環境が誰のためのものかを反映します。ヘッドレスは、開発者が操作者であるときに合理的です。 あなたはコードを書き、ログを読み、ディスプレイのないサーバーでスケールアウトします。ページをプログラム的に記述しているのだから、見る必要はありません。集成型プラットフォーム以外のエコシステム全体は、この前提の上に作られています。 ヘッド付きは、ページそのものがインターフェースであるときに合理的です。 要素を視覚的に選び、タスクの実行を眺め、ログインやCAPTCHAに介入し、ロギングではなく「見る」ことでデバッグする。それがOctoparseの姿勢であり、削ぎ落とされたElectron実行環境が存在する理由でもあります — 内部のブラウザが汎用ブラウジングではなくスクレイピング専用に作られていれば、ヘッド付きは必ずしも重くありません。 ここから実用上の帰結が2つ出てきます:
  • Bot検知。本物のヘッド付きブラウザ — 可視ウィンドウ、本物の描画、本物の入力イベント — は、Bot対策サービスが探す信号を漏らしにくくなります。ヘッドレスのツールはステルス層を被せる必要があり、設計上ヘッド付きのプラットフォームはこれをほぼ無償で得られます。
  • 操作者のスキル。ヘッドレスのツールはエンジニアリングの主体性を前提とします — 誰かがスクリプト・プロキシ・CAPTCHA対応・デプロイを保守します。設計上ヘッド付きのプラットフォームは、操作者がデータに近い人 — アナリスト・運用・グロース — であることを前提にし、エンジニアリングはプラットフォーム側が引き受けます。
設計としてのヘッド付きが機能の欠落ではなく意図的な選択である理由をより深く知りたい場合は、ヘッド付き vs ヘッドレスブラウザを参照してください。

どう選ぶか

ほとんどのプロジェクトに当てはまる決定ルールをいくつか:
  • コードで自前のスクレイパーを書く、ページの描画ができれば十分? Playwrightが既定です。Chrome専用ですでにNodeにいるならPuppeteer。それら2つでサポートされないブラウザが必要な場合のみSelenium。
  • コードベースのスクレイパーで、対象サイトのフィンガープリントが厳しい? ステルス派生に移行する(puppeteer-extra-stealth・undetected-chromedriver・nodriver) — あるいはBot対策込みのクラウドAPIに飛ぶ。
  • ブラウザ自体をホストしたくない? クラウドAPI:純粋な描画ならBrowserless / Browserbase / Steel、アンブロック込みならZyte API / Bright Data Scraping Browser。
  • そもそもコードを書きたくない? 集成型プラットフォーム:Octoparse(あるいはParseHub)。設計としてヘッド付き、視覚的に選択、実行環境がワークフロー・クラウド実行とともに同梱。
  • 操作者がエンジニアではなく、対象サイトに反Bot防御がある? ここが設計としてのヘッド付きが最も効く局面です — 漏らす検知信号が少なく、CAPTCHAが現れたときに人が介入できます。
実行環境の判断は、しばしば恒久的ではありません。多くのチームは、単発の描画にクラウドAPIから入り、反復ジョブのためにステルス装備のコードライブラリに移り、操作者がエンジニアではない人にならざるを得なくなったときに集成型プラットフォームに手を伸ばします。