メインコンテンツへスキップ
Olostepの/v1/scrapesエンドポイントを使用して、任意のURLからリアルタイムでLLMに適したMarkdown、HTML、テキスト、スクリーンショット、または構造化されたJSONを抽出できます。
  • クリーンなMarkdown、構造化データ、スクリーンショット、またはHTMLを出力
  • ParsersまたはLLM抽出を通じてJSONを抽出
  • 動的コンテンツを処理:JavaScriptでレンダリングされたサイト、アクションを通じたログインフロー、PDF
APIの詳細については、スクレイピングエンドポイントAPIリファレンスを参照してください。

URLのスクレイピング

/v1/scrapesエンドポイントを使用して、単一のURLをスクレイピングし、出力形式を選択します。

インストール

pip install olostep

使用方法

エンドポイントを使用して、単一のURLをスクレイピングし、出力形式を選択できます。必須パラメータはurl_to_scrapeformatsです。 その他の一般的なパラメータには、wait_before_scraping(ミリ秒単位)、remove_css_selectors(デフォルト、なし、またはセレクタの配列)、およびcountryがあります。
from olostep import Olostep

client = Olostep(api_key="YOUR_REAL_KEY")

result = client.scrapes.create(
    url_to_scrape="https://en.wikipedia.org/wiki/Alexander_the_Great",
    formats=["markdown", "html"],
)

print(result.markdown_content)
print(result.html_content)

レスポンス

APIはレスポンスとしてscrapeオブジェクトを返します。 scrapeにはidresultなどのプロパティがあります。 resultオブジェクトには以下のフィールドがあります(formatsパラメータに応じて、一部はnullかもしれません):
  • html_content: ページのHTMLコンテンツ。これを取得するにはformats: ["html"]を指定します。
  • markdown_content: ページのMDコンテンツ。これを取得するにはformats: ["markdown"]を指定します。
  • text_content: ページのテキストコンテンツ。これを取得するにはformats: ["text"]を指定します。
  • json_content: ページのJSONコンテンツ。これを取得するにはformats: ["json"]を指定し、parserまたはllm_extractパラメータも提供します。
  • screenshot_hosted_url: スクリーンショットのホストされたURL。
  • html_hosted_url: HTMLコンテンツのホストされたURL。
  • markdown_hosted_url: MarkdownコンテンツのホストされたURL。
  • json_hosted_url: JSONコンテンツのホストされたURL。
  • text_hosted_url: テキストコンテンツのホストされたURL。
  • links_on_page: ページ上のリンク。
  • page_metadata: ページのメタデータ。
{
  "id": "scrape_6h89o8u1kt",
  "object": "scrape",
  "created": 1745673871,
  "metadata": {},
  "retrieve_id": "6h89o8u1kt",
  "url_to_scrape": "https://en.wikipedia.org/wiki/Alexander_the_Great",
  "result": {
    "html_content": "<html...",
    "markdown_content": "## Alexander the Great...",
    "text_content": null,
    "json_content": null,
    "screenshot_hosted_url": null,
    "html_hosted_url": "https://olostep-storage.s3.us-east-1.amazonaws.com/text_6h89o8u1kt.txt",
    "markdown_hosted_url": "https://olostep-storage.s3.us-east-1.amazonaws.com/markDown_6h89o8u1kt.txt",
    "json_hosted_url": null,
    "text_hosted_url": null,
    "links_on_page": [],
    "page_metadata": { "status_code": 200, "title": "" }
  }
}

スクレイプ形式

formatsを通じて1つ以上の出力形式を選択します:
  • markdown: LLMに適したMarkdown
  • html: クリーンなHTML
  • text: プレーンテキスト
  • json: 構造化された出力(パーサーまたはllm_extractを介して)
  • raw_pdf: ホストされたURLに抽出された生のPDFバイト
  • screenshot: スクリーンショットをキャプチャしてホストされたURLを返すためにアクションを設定
出力キーはresult内で*_contentフィールドとして返され、*_hosted_urlも返されます。

構造化データの抽出

構造化されたJSONを抽出する方法は2つあります:Parsersを使用するか、LLM抽出を使用するかです。

パーサーを使用する(スケールにおすすめ)

formats: ["json"]を定義し、パーサーidを提供します。
from olostep import Olostep

client = Olostep(api_key="YOUR_REAL_KEY")

result = client.scrapes.create(
    url_to_scrape="https://www.google.com/search?q=alexander+the+great&gl=us&hl=en",
    formats=["json"],
    parser="@olostep/google-search",
)

print(result.json_content)
Olostepには人気のあるウェブサイト向けのいくつかの事前構築されたパーサーがありますが、ダッシュボードを通じて独自のパーサーを作成することも、チームに依頼することもできます。 パーサーは自己修復し、ウェブサイトの最新バージョンに自動的に更新されます。

LLM抽出を使用する(スキーマおよび/またはプロンプト)

llm_extractにJSONスキーマ(schema)および/または自然言語の指示(prompt)を提供します。両方のパラメータを渡すことができますが、両方が提供された場合、schemaが優先されます。 代わりに、promptのみを渡す場合、LLMはプロンプトに基づいてデータを抽出し、自身でデータ構造を決定します。
from olostep import LLMExtract, Olostep

client = Olostep(api_key="YOUR_REAL_KEY")

result = client.scrapes.create(
    url_to_scrape="https://www.berklee.edu/events/stefano-marchese-friends",
    formats=["markdown", "json"],
    llm_extract=LLMExtract(
        schema={
            "event": {
                "type": "object",
                "properties": {
                    "title": {"type": "string"},
                    "date": {"type": "string"},
                    "description": {"type": "string"},
                    "venue": {"type": "string"},
                    "address": {"type": "string"},
                    "start_time": {"type": "string"},
                },
            }
        }
    ),
)

print(result.json_content)
注意: result.json_contentは文字列化されたJSONを返します。オブジェクトが必要な場合はコード内で解析してください。

アクションを使用してページと対話

動的なサイトと対話するためにスクレイピング前にアクションを実行します。サポートされているアクション:
  • waitmilliseconds
  • clickselector
  • fill_inputselectorおよびvalue
  • scrolldirectionおよびamount
ページの読み込みを許可するために、他のアクションの前後でwaitを使用することがよくあります。

from olostep import FillInputAction, Olostep, WaitAction

client = Olostep(api_key="YOUR_REAL_KEY")

result = client.scrapes.create(
    url_to_scrape="https://example.com/login",
    formats=["markdown"],
    actions=[
        FillInputAction(selector="input[type=email]", value="john@example.com"),
        WaitAction(milliseconds=500),
        FillInputAction(selector="input[type=password]", value="secret"),
        {"type": "click", "selector": "button[type=\"submit\"]"},
        WaitAction(milliseconds=1500),
    ],
)

print(result.markdown_content)
レスポンスには要求された形式(例:markdown_content)が含まれます。

ユースケース

以下は、/scrapesエンドポイントを使用する顧客の実用的なアプリケーションのいくつかです。

コンテンツ分析とリサーチ

  • 競合分析: 競合他社のウェブサイトから製品詳細、価格、機能を抽出
  • 市場調査: ランディングページ、製品説明、顧客の声を分析
  • 学術研究: 科学出版物や研究ポータルから特定のデータを収集
  • 法的文書: 公式ウェブサイトからケーススタディ、規制、法的先例を抽出

Eコマースと小売

  • 動的価格戦略: 競合ストアからリアルタイムの製品価格を取得
  • 製品情報管理: 詳細な仕様と説明を抽出
  • 在庫モニタリング: 他の小売業者での製品の在庫状況を確認
  • レビュー分析: 特定の製品に対する消費者のフィードバックと感情を収集

マーケティングとコンテンツ作成

  • コンテンツキュレーション: ニュースレター用に関連する記事やブログ投稿を抽出
  • SEO分析: 競合のキーワード使用、メタディスクリプション、ページ構造を調査
  • リードジェネレーション: ビジネスディレクトリや会社ページから連絡先情報を抽出
  • インフルエンサーリサーチ: インフルエンサープロフィールからのエンゲージメントメトリクスとコンテンツスタイルを収集
  • パーソナライズされたソーシャルメディア生成: 顧客のウェブサイトを分析してAI駆動のソーシャルメディアマーケティングを作成

データアプリケーション

  • AIトレーニングデータ収集: 機械学習モデルのための特定の例を収集
  • カスタムナレッジベース構築: ソフトウェアサイトからドキュメントや指示を抽出
  • 歴史データアーカイブ: 特定の時点でのウェブサイトコンテンツを保存
  • 構造化データ抽出: ウェブコンテンツを分析のためにフォーマットされたデータセットに変換

モニタリングとアラート

  • 規制コンプライアンスモニタリング: 法的または規制ウェブサイトの変更を追跡
  • 危機管理: 特定のイベントや組織の言及をニュースサイトでモニタリング
  • イベントトラッキング: 会場や主催者のウェブサイトからのイベント情報を抽出
  • サービスステータスモニタリング: 特定のプラットフォームやツールのサービスステータスページを確認

出版とメディア

  • ニュースアグリゲーション: 公式ソースからの速報ニュースを抽出
  • メディアモニタリング: ニュースサイトで特定のトピックを追跡
  • コンテンツ検証: 主張や声明をファクトチェックするための情報を抽出
  • マルチメディア抽出: メディアライブラリ用に埋め込まれたビデオ、画像、オーディオを収集

金融アプリケーション

  • 投資リサーチ: 会社のウェブサイトから財務諸表や年次報告書を抽出
  • 経済指標: 政府や金融機関のウェブサイトから経済データを収集
  • 暗号通貨データ: リアルタイムの価格と市場キャップ情報を抽出
  • 金融ニュース分析: 特定の市場シグナルのために金融ニュースサイトをモニタリング

技術アプリケーション

  • APIドキュメント抽出: 参照用に技術ドキュメントを収集
  • 統合テスト: サードパーティ統合を検証するためにウェブサイト要素を抽出
  • アクセシビリティテスト: アクセシビリティ基準への準拠のためにウェブサイト構造を分析
  • ウェブアーカイブ作成: 歴史的保存のためにウェブサイトコンテンツ全体をキャプチャ

統合シナリオ

  • CRMシステム: 会社のウェブサイトやLinkedInからのデータで顧客プロファイルを強化
  • コンテンツ管理システム: 関連する外部コンテンツをインポート
  • ビジネスインテリジェンストール: 内部データを外部市場情報で補完
  • プロジェクト管理ソフトウェア: クライアントのウェブサイトからの仕様や要件を抽出
  • カスタムダッシュボード: 内部メトリクスと並んで抽出されたデータを表示

価格

スクレイピングはデフォルトで1クレジットかかります。parsersを使用する場合、コストはパーサーによって異なります(1-5クレジット)。LLM抽出を使用する場合、20クレジットかかります。