Crawl4AIの使い方とインストール方法、3サイトで実測レビュー
Crawl4AIを専用の仮想環境にインストールし、3つの記事を取得。処理時間やMarkdownの見出し、表、動画URLの変換結果を検証しました。
👁 116閲覧数
Crawl4AIを使うと、スクレイパーをローカルで実行し、取得したページをMarkdownに変換できます。専用の環境にライブラリをインストールし、3つの記事で動作を確認しました。結果は2026年10月時点のものです。
要点
- ライセンスはApache-2.0で、ローカルで取得したページごとの料金はかかりません。
- テストしたページはすべて取得できましたが、生の出力にはメニューなど記事以外のテキストも含まれていました。
- 表は変換後も残りましたが、生のMarkdownにはMP4ファイルのURLが含まれていませんでした。
- ハードウェア、メンテナンス、必要に応じて利用するモデルの費用は、ユーザーが負担します。
Crawl4AIとは?ローカル実行でできること
Crawl4AIは、Webページを取得してブラウザーでレンダリングし、後続の処理に使える形に整えるライブラリです。Markdownを出力でき、設定によっては抽出結果も取得できます。ローカルで実行すれば、処理の実行方法やファイル、フィルタリングのルールを自分で管理できます。クラウドサービスからページ単位のパッケージを購入する必要はありませんが、Python環境とブラウザーが必要です。
決まった情報源を繰り返し処理する用途に向いています。許可するURLを明示し、エラーを確認し、クリーニング前のデータを保存できます。アプリケーションでは、ページの取得と、その後のモデルによる分析を分けておくとよいでしょう。ネットワークエラーとAIの応答エラーを切り分けられるほか、保存した文書を使って再分析する際に、サイトへ再度アクセスせずに済みます。
ローカル実行だからといって、処理のすべてがコンピューター内で完結するとは限りません。公開ページを取得するときは、そのサイトのサーバーと通信します。また、外部モデルを使って情報を抽出する場合は、指定した内容がモデルに送信されます。今回のテストでは、言語モデルによる抽出は使用していません。結果は、ライブラリによるページ取得、レンダリング、変換から得られたものです。
処理場所をより広く管理する方法に関心がある方は、ローカルAIについての記事も参考になります。ただし、プログラムをローカルで実行できることと、外部のデータを自由にコピーできることは別の問題です。
Crawl4AIのインストール手順:専用の仮想環境を使う
専用のvenvを使うと、ほかのプロジェクトとの依存関係の混在を抑えられます。今回のテストでは、テスト専用のディレクトリにCrawl4AIをインストールしました。ライブラリと依存パッケージをインストールした後、PlaywrightのコマンドでChromiumも別途インストールしました。以下はWindowsで同じ手順を実行する例です。環境用のファイルを作成できるプロジェクトディレクトリで実行してください。
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install crawl4ai
.\.venv\Scripts\playwright.exe install chromium
実測時の環境はPython 3.13.15、Crawl4AI 0.9.5、Playwright 1.64.0でした。インストールされたChromiumのバージョンは156.0.8078.4です。これはテスト当日の環境を記録したもので、今後インストールした際にも同じ構成になることを保証するものではありません。結果を再現したい場合は、依存関係のバージョンを記録し、プロジェクトの最新の要件も確認してください。
- テスト用のディレクトリを作成し、その中でターミナルを開きます。
- venvを作成し、その環境のPythonインタープリターを使ってパッケージをインストールします。
- 同じvenvからPlaywrightを使い、Chromiumを追加します。
- 短いスクリプトを保存し、同じインタープリターで実行します。
- ほかのURLを追加する前に、取得ステータスとファイルの内容を確認します。
コマンドが見つからない場合は、まずインタープリターのパスを確認してください。パッケージをグローバル環境に重ねてインストールすると、問題が見えにくくなり、環境の再現も難しくなることがあります。ほかのOSではvenv内のプログラムのパスが異なりますが、ライブラリ、ブラウザーのインストーラー、スクリプトで同じ環境を使うという原則は変わりません。
Crawl4AIの基本スクリプトと動作範囲
次の例では、指定したURLだけを取得します。サイト全体を再帰的に巡回する処理は行いません。何が返ってきたかを確認しやすいため、最初に試す方法として適しています。実測ではキャッシュや待ち時間の設定も使いましたが、この例ではドキュメントにある基本的な呼び出し方を示しています。
import asyncio
from crawl4ai import AsyncWebCrawler
async def main():
async with AsyncWebCrawler() as crawler:
result = await crawler.arun(
url="https://example.com"
)
if not result.success:
raise RuntimeError(result.error_message)
print(result.markdown.raw_markdown)
asyncio.run(main())
スクリプトを拡張する前に、保存形式、対象URLの範囲、処理を終了する条件を決めてください。表や動画が欠落した理由を調べる必要がある場合に備え、HTMLをMarkdownと一緒に保存しておくと役立ちます。一方、必要がないのに取得したデータをすべて保存するのは避けましょう。保存範囲や期間は、作業の目的とコンテンツの利用条件に基づいて決めてください。
3サイトでCrawl4AIを実測:取得時間とMarkdownの構造
公開されている記事を3つ、ログインせず、再帰的な巡回も行わずに順番に取得しました。タスクのローカルキャッシュは無効にし、本文フィルターは有効にしていません。時間はレンダリングと変換を含む、1回のarunの実行時間です。共通のブラウザーを起動する時間は別途0.560秒で、下の表の各値には含まれていません。
| サイト内のURL | 時間 | 文字数 | 表の数 |
|---|---|---|---|
| /kling-4-0-test/ | 0.938秒 | 23478 | 2 |
| /tryb-ai/ | 1.259秒 | 38860 | 2 |
| /kling-4/ | 1.618秒 | 44607 | 7 |
取得結果はいずれもHTTP 200でした。生のMarkdownに含まれるATX見出しは、順に31、51、36個でした。記事以外の要素も含まれるため、記事本文のセクション数を示すものではありません。メニューや繰り返し表示される要素によって、出力の量も増えていました。HTTPの取得に成功しただけで作業完了と判断せず、最初の実行後にファイルの内容を確認する必要があるのはこのためです。
Markdown内の表の数は、記事のHTMLで確認した表の数と一致しました。ただし、すべてのセルを文字単位で比較したわけではありません。1つ目と3つ目のページのHTMLには動画のソースが含まれていましたが、生のMarkdownにはMP4のURLが残りませんでした。テキストを取得するツールが、ページ内のマルチメディア構造をすべて保存できるとは限りません。動画のURLが必要な場合は、別の項目として取得できているか確認してください。
この時間をあらゆるサイトに当てはめることはできません。1台のマシンで各ページを1回ずつ実行した結果です。ページのレイアウトが変わった場合のテスト、複数セッションを並行して実行した場合の負荷、アクセス上の問題は評価していません。このテストの目的は、デフォルトの変換結果を示すことであり、どの環境でも通用する速度の優劣を決めることではありません。
アプリで使う前に見直したいポイント
まず、ページのどの部分を本文として扱うのかを決めてください。レイアウトが安定している場合は、対象となる要素に抽出範囲を絞り、その後も見出し、脚注、表が残るか確認できます。これは次に試す方法であり、追加計測の結果ではありません。今回のテストではフィルターを有効にしていないため、出力量や品質がどれだけ改善するかを示すことはできません。
次に、失敗への対処と対象範囲の上限を設定します。アプリケーションでは、結果が空の場合、サービスからエラーメッセージが返された場合、情報源の構造が変わった場合を判別できるようにしてください。再試行は、理由を特定できている場合に行うべきで、無制限のループにしてはいけません。ローカルで運用する場合も、監視、依存関係の更新、サイトの変更に応じたルールの修正にかかるコストを考慮してください。
Crawl4AIは、処理の流れを自分で設定したい方に向いています。インストールせずに記事を1つ読むことが最優先なら、もっと簡単な方法が便利かもしれません。インフラの運用をサービス提供者に任せたい場合は、クラウドAPIを検討できます。Apache-2.0ライセンスはライブラリの利用を容易にしますが、取得したコンテンツを利用する権利の確認に代わるものではありません。
ツールごとの違いは、Crawl4AI、Firecrawl、Jinaの比較で紹介しています。エージェント向けのWebデータ活用については、Web上のデータを扱うためのガイドもご覧ください。
よくある質問
Crawl4AIは本当に無料ですか?
ローカルライブラリはページごとの料金がかからず、オープンライセンスで提供されています。ただし、ハードウェア、メンテナンス、プロキシ、外部モデルの利用には費用がかかる場合があります。クラウドサービスは別の選択肢で、独自の利用条件があります。
基本的なMarkdownの取得にモデルのAPIキーは必要ですか?
今回のテストでは、言語モデルのAPIキーを使っていません。モデルを使った抽出は追加の方法であり、費用とデータの送信先を別途確認する必要があります。
動画も保存されますか?
動画の音声や映像そのものは保存されません。テストしたページのHTMLにあったMP4のURLは、生のMarkdownには含まれていませんでした。動画の視聴や文字起こしも行っていません。
出典
- Crawl4AIクイックスタート - 2026-10-21閲覧。
- Crawl4AIインストールガイド - 2026-10-21閲覧。
- Crawl4AIリポジトリ - 2026-10-21閲覧。


