ScrapeGraph AI を使ったウェブスクレイピングの方法

Anh Tuan
Data Science Expert
04-Sep-2024
ScrapeGraph AI を使用したウェブスクレイピング
ScrapeGraph AI とは?
ScrapeGraph AI は、LLM とグラフベースのロジックを利用して、ウェブサイトとローカルドキュメント(XML、HTML、JSON、Markdown などを含む)のスクレイピングパイプラインを構築する Python のウェブスクレイピングライブラリです。抽出したいデータを指定するだけで、ライブラリがすべてを処理します!
このライブラリは、次の機能を提供します。
- 多くの LLM をサポート: GPT、Gemini、Groq、Azure、Hugging Face
- ローカルモデル: Ollama。
- プロキシサポートは、プロキシの背後にあるリクエストを処理します。
前提条件
ScrapeGraph AI の使用を開始する前に、次のものがインストールされていることを確認してください。
bash
pip install scrapegraphai capsolver
playwright install
ScrapeGraph AI の使用開始
以下は、OpenAI を使用して ScrapeGraph AI を使用してウェブページをスクレイピングする基本的な例です。
python
import json
from scrapegraphai.graphs import SmartScraperGraph
# スクラピングパイプラインの構成を定義します
graph_config = {
"llm": {
"api_key": "YOUR_OPENAI_APIKEY",
"model": "openai/gpt-4o-mini",
},
"verbose": True,
"headless": False,
}
# SmartScraperGraph インスタンスを作成します
smart_scraper_graph = SmartScraperGraph(
prompt="List me all the quotes with their description",
source="https://quotes.toscrape.com/",
config=graph_config
)
# パイプラインを実行します
result = smart_scraper_graph.run()
print(json.dumps(result, indent=4))
以下は、ローカルLLM(Ollama)を使用してScrapeGraph AIを使用し、ウェブページをスクレイピングする基本的な例です。
python
import json
from scrapegraphai.graphs import SmartScraperGraph
# スクラピングパイプラインの構成を定義します
graph_config = {
"llm": {
"model": "ollama/llama3.1",
"temperature": 0,
"format": "json", # Ollamaでは、形式を明示的に指定する必要があります。
# "base_url": "http://localhost:11434", # ollama URLを任意に設定します。
},
"verbose": True,
"headless": False
}
# SmartScraperGraph インスタンスを作成します
smart_scraper_graph = SmartScraperGraph(
prompt="List me all the quotes with their description",
source="https://quotes.toscrape.com/",
config=graph_config
)
# パイプラインを実行します
result = smart_scraper_graph.run()
print(json.dumps(result, indent=4))
Capsolver と ScrapeGraph AI を使用して CAPTCHA を処理する
このセクションでは、Capsolver を ScrapeGraph AI と統合して CAPTCHA を回避する方法について説明します。Capsolver は、ウェブサイトで一般的に使用されている ReCaptcha V2 を含む、さまざまなタイプの CAPTCHA の解決を支援する外部サービスです。
Capsolver を使用して ReCaptcha V2 を解決し、CAPTCHA の解決が最初に必要なページのコンテンツをスクレイピングする手順を紹介します。
ボーナスコード
最高のCAPTCHAソリューションのボーナスコードを請求してください。Capsolver: scrape. コードを適用すると、次回のチャージ後、5% のボーナスが加算されます。 無制限

例: Capsolver と ScrapeGraph AI を使用して ReCaptcha V2 を解決する
python
import capsolver
import os
import json
from scrapegraphai.graphs import SmartScraperGraph
# 環境変数を使い、機密情報を取り扱います。
PROXY = os.getenv("PROXY", "http://username:password@host:port")
capsolver.api_key = os.getenv("CAPSOLVER_API_KEY", "Your Capsolver API Key")
PAGE_URL = os.getenv("PAGE_URL", "PAGE_URL")
PAGE_KEY = os.getenv("PAGE_SITE_KEY", "PAGE_SITE_KEY")
def solve_recaptcha_v2(url, key):
solution = capsolver.solve({
"type": "ReCaptchaV2Task",
"websiteURL": url,
"websiteKey": key,
"proxy": PROXY
})
return solution['solution']['gRecaptchaResponse']
def main():
print("Solving reCaptcha v2")
solution = solve_recaptcha_v2(PAGE_URL, PAGE_KEY)
print("Solution: ", solution)
# スクラピングパイプラインの構成を定義します
graph_config = {
"llm": {
"api_key": "YOUR_OPENAI_APIKEY",
"model": "openai/gpt-4o-mini",
},
"verbose": True,
"headless": False,
}
# SmartScraperGraph インスタンスを作成します
smart_scraper_graph = SmartScraperGraph(
prompt="Find the description of each quote.",
source="https://quotes.toscrape.com/",
config=graph_config
)
# パイプラインを実行します
result = smart_scraper_graph.run()
print(json.dumps(result, indent=4))
まとめ
ScrapeGraph AI を使用すれば、プロキシや CAPTCHA の複雑さを処理しながら、効率的にウェブサイトをスクレイピングできます。Capsolver と組み合わせることで、ReCaptcha V2 の課題をシームレスに回避し、スクレイピングが困難なコンテンツにアクセスできるようになります。
このスクリプトを拡張して、自分のスクレイピングのニーズに合わせてカスタマイズし、ScrapeGraph AI が提供する追加機能を試してみてください。スクレイピング活動が、ウェブサイトの利用規約と法的ガイドラインを尊重していることを常に確認してください。
ハッピー・スクレイピング!
コンプライアンス免責事項: このブログで提供される情報は、情報提供のみを目的としています。CapSolverは、すべての適用される法律および規制の遵守に努めています。CapSolverネットワークの不法、詐欺、または悪用の目的での使用は厳格に禁止され、調査されます。私たちのキャプチャ解決ソリューションは、公共データのクローリング中にキャプチャの問題を解決する際に100%のコンプライアンスを確保しながら、ユーザーエクスペリエンスを向上させます。私たちは、サービスの責任ある使用を奨励します。詳細については、サービス利用規約およびプライバシーポリシーをご覧ください。
もっと見る

CAPTCHA 2026を解くために最適な拡張機能はどれですか?
オンラインセキュリティの進化し続ける世界において、CAPTCHAのチャレンジはインターネットユーザーにとって一般的な障壁となっています...

Nikolai Smirnov
12-Dec-2025

Sample Post
この記事では、Lumiproxyとは何か、および提供しているサービスについて紹介します。

Nikolai Smirnov
12-Dec-2025

Genlogin: 革新するウェブ自動化体験
この記事では、Genloginおよびその提供するサービスについてご紹介します。

Sora Fujimoto
12-Dec-2025

プロクシーズ.io : 個別のプロキシ あらゆるタスクに
本記事では、Proxys.ioとは何なのかと、彼らが提供するサービスについてご紹介します。

Nikolai Smirnov
12-Dec-2025

タブプロキシ: お得な海外住宅用プロキシ
この記事では、Tabproxyとは何か、および彼らが提供するサービスについてご紹介します。

Anh Tuan
12-Dec-2025

IP2World 住宅用プロキシ: リーディンググローバルIPプロキシソリューション
本記事では、IP2Worldとは何かおよび提供するサービスについてご紹介します。

Ethan Collins
12-Dec-2025

