今日の優良食堂
実際に入れて動かして書いた、今日の一膳
ギット飯が代わりに導入・実行・コードまで確かめました
いま読んでいる一膳ScrapeGraphAI/Scrapegraph-ai大規模言語モデルとグラフロジックを使ってWebサイトやローカルドキュメントからデータを抽出するPythonライブラリです。信頼度 1.56ほかの一膳rtk-ai/rtkエージェント向けバッシュ出力を最大90%圧縮するRust製CLIプロキシ信頼度 1.57ほかの一膳soxoj/maigretユーザー名だけでインターネット全体から個人情報を収集し、3000以上のサイトを自動検索するOSINTツールです。信頼度 1.53
今日の優良食堂 · ギット飯が代わりに導入・分析

ScrapeGraphAI/Scrapegraph-ai

大規模言語モデルとグラフロジックを使ってWebサイトやローカルドキュメントからデータを抽出するPythonライブラリです。

CSSセレクタや正規表現を書く代わりに、「商品名と価格を抽出して」と自然言語で指示するだけで、ECサイトや複数のニュースサイトから構造化データが返ってくる体験を試せます。langchainやplaywrightを土台にした実装で、検索結果の収集や音声ファイル生成、Pythonスクリプトの自動生成まで、単純なスクレイピングを超えたパイプラインを同じ枠組みで動かせるのも魅力です。PyPI 2.1.6として配布され、単体テストや統合テスト、Mockサーバーまで揃っているため、手元でpip installした瞬間から実務のデータ収集フローに組み込めます。

01 / 概要
何をするものか一文で言うと
ひとことで大規模言語モデルとグラフロジックを使ってWebサイトやローカルドキュメントからデータを抽出するPythonライブラリです。

ScrapeGraphAIは、LLMとグラフロジックを組み合わせてWebサイトやローカルファイル(HTML、XML、JSON、Markdownなど)からデータを抽出するPythonライブラリです。ユーザーは抽出したい情報をプロンプトで指定するだけで、パイプラインが自動でスクレイピングと構造化を行います。PyPIで配布され、LangChainベースで多数のLLMプロバイダーに対応しています。

02 / 構造
どう動くのか中核のしくみ
読み方動きの流れを図と一緒にほどきました。

中核は`scrapegraphai/graphs`配下の各種Graphクラス(`SmartScraperGraph`、`JSONScraperGraph`、`CSVScraperGraph`など)です。`AbstractGraph`と`BaseGraph`がノードの実行順序を管理し、Playwright(`docloaders/chromium.py`)でページを取得、`html2text`やBeautifulSoupでHTMLをクリーニングし、LLM(OpenAI、Ollama、Anthropicなど)にプロンプトとコンテンツを渡して情報を抽出します。設定は`graph_config`辞書で`llm.model`や`headless`などを指定し、`.run()`を呼ぶと辞書形式の結果が返る設計です。依存関係は`pyproject.toml`で確認でき、`playwright install`が別途必要な点がREADMEに明記されています。

03 / 体験
入れるとこんな体験になりますギット飯が実際にたどった順序
所要ギット飯が実際に導入・実行しながらたどった順序です。
  1. STEP 01

    `pip install scrapegraphai`を実行した後、READMEの注意書き通り`playwright install`を追加実行しないとブラウザ取得部分でエラーになります。

  2. STEP 02

    OllamaやOpenAIなどLLMプロバイダーのAPIキーまたはローカルモデルを`graph_config`に設定する必要があり、設定ミスがあるとLLM呼び出しの段階で失敗します。

  3. STEP 03

    `SmartScraperGraph(prompt=..., source=..., config=...)`を作成し`.run()`を呼ぶと、対象ページのスクレイピングとLLM推論が実行され、数秒から数十秒待つことになります。

  4. STEP 04

    実行結果として`description`や`founders`のようなキーを持つPython辞書が返り、`json.dumps`で整形表示できることをREADMEのサンプル出力で確認できます。

  5. STEP 05

    テストを回す場合は`uv sync`と`uv run playwright install`が前提で、`pytest -m unit`は高速ですが`--integration`付きの実行にはOPENAI_APIKEYなど実際のAPIキーが必要です。

  6. STEP 06

    Dockerで試す場合は`Dockerfile`にある通り`scrapegraphai`本体と`burr`拡張、Playwright依存パッケージが順にインストールされるため、初回ビルドはやや時間がかかります。

04 / 成果物
何が手に入るのか導入後に手元に残るもの

URLまたはローカルファイルとプロンプトを渡すだけで、会社概要や創業者情報、SNSリンクといった構造化データがPython辞書(JSON)として手に入ります。SmartScraperGraph以外にもCSV・JSON・XML・ドキュメント・検索(SearchGraph)・コード生成・音声出力用のGraphクラスが用意されており、用途に応じて選べる状態です。

05 / 注意
ここは先に知っておいてください先に知っておくとよいこと
正直なところ誰にでも合うとは言いにくいところです。
01

Python 3.12以上が必須(`requires-python = >=3.12,<4.0`)であり、古い環境ではインストールに失敗します。

02

LLM呼び出しを伴うためOpenAIなど有料APIのキーが必要になる場合があり、無料でOllamaローカルモデルを使う場合も別途Ollamaサーバーの起動が要求されます。

03

`playwright install`を忘れるとブラウザベースの取得(chromium.py)が動かず、README自身が明記する落とし穴です。

04

READMEの冒頭で公式クラウド版ScrapeGraphAI.comへの誘導が強調されており、OSS版とクラウド版で機能差がある可能性があります(本レポート内の情報だけでは差分は不明です)。

06 / 結論
ギット飯の結論食べてみる価値のある一膳か
ギット飯の最終判断優良食堂

WebスクレイピングにLLMの柔軟な情報抽出を組み合わせたいPython開発者、特にプロンプトベースで抽出ロジックを都度書き直したくない人に向いています。テストインフラ(unit/integration分離、モックサーバー、複数LLMプロバイダー向けフィクスチャ)が`tests/README_TESTING.md`に具体的に整備されており、CI(release.yml、codeql.yml)も稼働している点から、実際にメンテナンスされているプロジェクトだと判断できます。ただしAPIキーやPlaywrightのセットアップなど外部要因への依存が多いため、README記載の手順通りに環境を用意しないと動作確認自体ができない点は留意してください。

今日の残りの一膳
SUBSCRIBER LIBRARY
これまでに検証した優良食堂を一堂に

4 つの関門を通った優良食堂がすべてバックナンバーに集まっています。いちばん新しい一膳はどなたでも無料で読め、それより前の優良食堂の検証の根拠・詳しい解説は ギット飯 プレミアムのご購読ですでに開いています。

優良食堂バックナンバー →
リポジトリ詳細🧪 ひと言で味見する