はじめに
ScrapeGraphAIは革新的なPythonウェブクローリングライブラリで、Large Language Modelling (LLM)とDirect Graph Logicを巧みに組み合わせ、ウェブサイトやローカルドキュメントのクローリングパイプラインを作成します。このツールのユニークさは、シンプルさとパワーの完璧なバランスにある。ユーザーは抽出したい情報を記述するだけで、ScrapeGraphAIがクロールプロセスの複雑さをすべて自動化してくれる。このプロジェクトは、XML、HTML、JSON、Markdownを含む幅広いフォーマットのドキュメントの処理をサポートしている。PythonとNode.js用のSDKを提供することで、開発者はウェブクローリング機能を簡単にプロジェクトに組み込むことができる。ScrapeGraphAIは単なるウェブクローリングツールにとどまらず、複数ページの並行クロール、スピーチ生成、Pythonスクリプトの自動生成、その他の高度な機能など、豊富な機能を提供している。
グラフロジックはScrapeGraphAIの中核となる技術概念であり、ウェブデータ抽出のための構造化処理手法を指す。具体的には
- データ構造の表現:
- ウェブコンテンツをグラフィカルな構造として考える
- HTMLドキュメントはノードとエッジのコレクションに変換される。
- 各HTML要素はノードであり、要素間の関係はエッジで表される。
- 処理の流れ:
- まず、ページのDOMツリー構造を構築する。
- ノード間の階層的および連想的関係を分析する。
- AI(ビッグ・ランゲージ・モデリング)によるユーザーニーズの把握
- グラフ構造から最適なデータ抽出経路を見つける
機能一覧
- インテリジェントな単一ページクローリング:ユーザープロンプトと入力ソースだけでコンテンツ抽出が可能。
- 複数ページ並行クロール:複数のウェブページから同時に情報を抽出することをサポートします。
- 検索エンジン結果のクローリング:検索エンジンの最初のN個の結果から情報を抽出できる。
- 音声変換機能:ウェブコンテンツを音声ファイルに変換できる
- スクリプトの自動生成:コンテンツ抽出のためのPythonスクリプトを生成することができます。
- 複数のLLMをサポート:OpenAI、Groq、Azure、Gemini、その他のAPIやOllamaのネイティブモデルと互換性があります。
- 高度なセマンティック処理:Graphvizのようなセマンティック処理ツールのサポート
- ブラウザー管理:様々なブラウザー管理ツールやサービスとの統合
- API統合サポート:完全なAPIインターフェースとSDKサポートを提供します。
ヘルプの使用
1.インストール手順
- 基礎工事
pip install scrapegraphai
playwrightのインストール
ライブラリの競合を避けるため、仮想環境にインストールすることをお勧めします。
- オプションの依存関係のインストール
- より多くの言語モデルのサポートをインストールします:
pip install scrapegraphai[other-language-models]
- 意味処理オプションのインストール:
pip install scrapegraphai[more-semantic-options]
- ブラウザオプションをインストールする:
pip install scrapegraphai[more-browser-options]
2.基本的な使い方
以下は、SmartScraperGraph(最も一般的に使用されているスクレイピング・パイプライン)の使用例です:
インポート json
from scrapegraphai.graphs import SmartScraperGraph
#スクレイピングパイプラインの設定
graph_config = {
"llm": {
"api_key": "YOUR_OPENAI_APIKEY", "model": "openai/gptpt": { {".
「model": "openai/gpt-4o-mini"、
}, }
「verbose": True, "headless": False
「ヘッドレス": False, }
}
# SmartScraperGraphインスタンスの作成
smart_scraper_graph = SmartScraperGraph(
prompt="Extract me all the news from the website"、
source="https://www.wired.com"、
config=graph_config
)
#パイプラインの実行
result = smart_scraper_graph.run()
print(json.dumps(result, indent=4))
3.高度な機能の使用説明
- マルチページクローリング
- 複数のページから同時に情報を抽出するにはSmartScraperMultiGraphを使用します。
- 並列LLMコールをサポートし、処理効率を向上
- 検索結果クロール
- SearchGraphを使って、検索エンジンの結果から直接情報を抽出しよう。
- 抽出結果数の設定に対応
- おんせいひょうき
- SpeechGraphを使って、ウェブコンテンツを音声ファイルに変換しましょう。
- 複数の音声合成オプションをサポート
- スクリプトの自動生成
- ScriptCreatorGraphは、コンテンツ抽出用のPythonスクリプトを生成します。
- 単一ページおよび複数ページのスクリプト生成をサポート
- LLMインテグレーション
- 複数のLLMサービスをサポート:OpenAI、Groq、Azure、Gemini
- Ollamaのネイティブモデルをサポート(最初にOllamaをインストールし、モデルをダウンロードする必要があります。)
4.注意事項
- 使用前にAPIキーが正しく設定されていることを確認する。
- 依存関係の衝突を避けるため、仮想環境での実行を推奨する。
- ローカルモデルを使用する場合は、事前に対応するモデルをインストールし、ダウンロードしておく必要がある。
- サイトの利用規約およびクロールポリシーを遵守すること。
- クロールの頻度をコントロールし、ターゲットサイトを圧迫しないように注意する。
5.トラブルシューティング
- 依存関係の衝突が発生した場合は、仮想環境を再作成することをお勧めします。
- APIコールに失敗した場合のキー設定のチェック
- ページのクロールに失敗した場合のネットワーク接続とターゲットサイトの可用性のチェック
6.ヘルプへのアクセス
- 公式ドキュメント:https://scrapegraph-ai.readthedocs.io/
- ドキュサウルスのドキュメント:https://docs-oss.scrapegraphai.com/
- Discord コミュニティサポート:https://discord.gg/uJN7TYcpNa
- GitHub Issue Tracker: https://github.com/ScrapeGraphAI/Scrapegraph-ai/issues