/v1/scrapesエンドポイントを使用すると、任意のURLからリアルタイムでLLM対応のMarkdown、HTML、テキスト、スクリーンショット、または構造化JSONを抽出できます。
- クリーンなMarkdown、構造化データ、スクリーンショット、またはHTMLを出力
- ParsersまたはLLM extractionを通じてJSONを抽出
- 動的コンテンツを処理:jsでレンダリングされたサイト、アクションを介したログインフロー、PDF
URLのスクレイピング
/v1/scrapesエンドポイントを使用して単一のURLをスクレイプし、出力形式を選択します。
インストール
使用方法
このエンドポイントを使用して単一のURLをスクレイプし、出力形式を選択できます。必須パラメータはurl_to_scrapeとformatsです。
他の一般的なパラメータには、wait_before_scraping(ミリ秒単位)、remove_css_selectors(デフォルト、なし、またはセレクタの配列)、およびcountryがあります。
レスポンス
APIはレスポンスとしてscrapeオブジェクトを返します。
scrapeにはidやresultなどのプロパティがあります。
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コンテンツのホストされたURLmarkdown_hosted_url: MarkdownコンテンツのホストされたURLjson_hosted_url: JSONコンテンツのホストされたURLtext_hosted_url: テキストコンテンツのホストされたURLlinks_on_page: ページ上のリンクpage_metadata: ページのメタデータ
キャッシング
速度を最適化するために、OlostepはHTML、Markdown、テキスト、および解析されたJSONの結果に対するオプションの共有キャッシングレイヤーを提供します。仕組み
スクレイプが要求されると、Olostepは同じパラメータを持つ一致するスクレイプが既に存在するかどうかを確認します。新鮮な一致が見つかった場合、コンテンツは新しいブラウザスクレイプを起動せずにOlostepのストレージから即座に提供されます。- 共有キャッシュ: キャッシュはグローバルに共有されます。別のリクエストが同じURLを同じ設定であなたの新鮮さウィンドウ内でスクレイプした場合、速度向上の恩恵を受けます。
- 後処理は依然としてライブ:
llm_extractやlinks_on_pageフィルターのような操作は、キャッシュされたドキュメントの上でオンザフライで実行されます。コアページの取得のみをキャッシュし、構造化された抽出を動的に保ちます。
新鮮さとmax_age
デフォルトでは、プロダクションAPIは常にリアルタイムの精度を保証するためにライブスクレイプを実行します。max_ageパラメータを使用してキャッシングをオプトインできます。
- デフォルトAPI動作 (
max_age: 0): すべてのAPIリクエストは新しいスクレイプをトリガーします。 - デフォルトプレイグラウンド動作: ダッシュボードプレイグラウンドでは、
max_ageは24時間(86400秒)にデフォルト設定されています。 - 最大年齢: キャッシュには7日間(
604800秒)のハードリミットがあります。この制限を超えるmax_ageが要求された場合、最大7日にフォールバックします。
使用例
キャッシュがスキップされる場合
キャッシュは自動的にバイパスされ(ライブスクレイプを強制)、次のような場合にリクエストが必要です:- インタラクティブセッション:
session_idを使用するリクエストまたはカスタムブラウザcontextをロードするリクエスト。 - スクリーンショット:
screenshotを形式に含めるか、スクリーンショットオプションを設定するリクエストはキャッシュをバイパスします。 - 特別なファイルタイプ: バイナリファイルのダウンロードまたは生のPDFレンダリング。
- デバッグ&ネットワーク:
network_callsをキャプチャするか、非同期パーサージョブを使用する。
リンクの抽出
ページ上のリンクを収集するために、リクエストにlinks_on_pageオブジェクトを渡します。すべてのリンクは絶対URLとして返されます。
include_links/exclude_links: 各リンクのURL パスに対して一致するグロブパターン。query_to_order_links_by: このテキストに関連する順序で返されるリンクを再注文します。
グロブパターンはパスセグメントに一致します。単一の
*は/を越えません。したがって、"/blog/*"は"/blog/post-1"に一致しますが、インデックス"/blog"自体には一致しません。また、クエリ文字列はパスの一部ではないため、"/blog?tag=x"には決して一致しません。インデックスも含めるには、"/blog*"または"{/blog,/blog/**}"を使用します。スクレイプ形式
formatsを使用して1つ以上の出力形式を選択します:
markdown: LLM対応のMarkdownhtml: クリーンなHTMLtext: プレーンテキストjson: 構造化出力(パーサーまたはllm_extractを介して)raw_pdf: ホストされたURLに抽出された生のPDFバイトscreenshot: アクションを介してスクリーンショットをキャプチャし、ホストされたURLを返す
result内に*_contentフィールドとして返され、*_hosted_urlも返されます。
構造化データの抽出
構造化JSONを抽出するには、ParsersまたはLLM抽出の2つの方法があります。パーサーを使用する(スケールに推奨)
formats: ["json"]を定義し、パーサーidを提供します。
LLM抽出を使用する(スキーマおよび/またはプロンプト)
llm_extractをJSONスキーマ(schema)および/または自然言語の指示(prompt)で提供します。両方のパラメータを渡すことができますが、両方が提供される場合、schemaが優先されます。
代わりに、promptのみを渡す場合、LLMはプロンプトに基づいてデータを抽出し、データ構造を自分で決定します。
result.json_contentは文字列化されたJSONを返します。オブジェクトが必要な場合はコード内で解析してください。
価格: llm_extractは1回のスクレイプにつき10クレジットかかります。コストを下げるために、独自のAPIキーを持ち込むか、使用量ベースの価格設定を有効にすることができます。アクセスを取得するにはinfo@olostep.comに連絡してください。
ページ上のリンクを抽出
links_on_pageオプションを使用して、スクレイプするページに存在するすべてのリンクを抽出できます。抽出されたリンクをフィルタリングおよび順序付けするための次のパラメータを受け入れます:
absolute_links(boolean, default:true): trueの場合、相対パス(例:/page)ではなく完全なURL(例:https://example.com/page)を返します。query_to_order_links_by(string): 提供されたクエリテキストとの類似性によって返されたリンクを順序付けし、最も関連性の高い一致を優先します。include_links(array of strings): グロブパターンを使用して抽出されたリンクをフィルタリングします。*.pdfのようなパターンを使用してファイル拡張子に一致させたり、/blog/*で特定のパスに一致させたり、https://example.com/*のような完全なURLを使用します。ワイルドカード(*)、文字クラス([a-z])、選択({pattern1,pattern2})をサポートします。exclude_links(array of strings):include_linksと同じ構文を使用して特定のリンクを除外します。
アクションでページと対話する
動的なサイトと対話するためにスクレイプ前にアクションを実行します。サポートされるアクション:waitwithmillisecondsclickwithselectorfill_inputwithselectorandvaluescrollwithdirectionandamount
waitを使用することがよくあります。
例
markdown_content)が含まれます。
ユースケース
以下は、/scrapesエンドポイントを使用する顧客の実際のアプリケーションのいくつかです。
コンテンツ分析&リサーチ
- 競合分析: 競合他社のウェブサイトから製品の詳細、価格、機能を抽出
- 市場調査: ランディングページ、製品説明、顧客の声を分析
- 学術研究: 科学出版物や研究ポータルから特定のデータを収集
- 法的文書: 公式ウェブサイトからケーススタディ、規制、または法的先例を抽出
Eコマース&小売
- 動的価格戦略: 競合店舗からリアルタイムの製品価格を取得
- 製品情報管理: 詳細な仕様と説明を抽出
- 在庫/インベントリ監視: 他の小売業者での製品の在庫状況を確認
- レビュー分析: 特定の製品に関する消費者のフィードバックと感情を収集
マーケティング&コンテンツ作成
- コンテンツキュレーション: ニュースレター用に関連する記事やブログ投稿を抽出
- SEO分析: 競合他社のキーワード使用、メタディスクリプション、ページ構造を調査
- リードジェネレーション: ビジネスディレクトリや企業ページから連絡先情報を抽出
- インフルエンサーリサーチ: インフルエンサープロフィールからエンゲージメントメトリクスとコンテンツスタイルを収集
- パーソナライズされたソーシャルメディア生成: 顧客のウェブサイトを分析してAI駆動のソーシャルメディアマーケティングを作成
データアプリケーション
- AIトレーニングデータ収集: 機械学習モデルのための特定の例を収集
- カスタムナレッジベース構築: ソフトウェアサイトからドキュメントや指示を抽出
- 歴史的データアーカイブ: 特定の時点でのウェブサイトコンテンツを保存
- 構造化データ抽出: ウェブコンテンツを分析用にフォーマットされたデータセットに変換
モニタリング&アラート
- 規制コンプライアンスモニタリング: 法的または規制ウェブサイトの変更を追跡
- 危機管理: 特定のイベントや組織の言及をニュースサイトでモニタリング
- イベントトラッキング: 会場や主催者のウェブサイトからのイベントの詳細を抽出
- サービスステータスモニタリング: 特定のプラットフォームやツールのサービスステータスページを確認
出版&メディア
- ニュース集約: 公式ソースからの速報ニュースを抽出
- メディアモニタリング: ニュースサイトで特定のトピックを追跡
- コンテンツ検証: 主張や発言を事実確認するための情報を抽出
- マルチメディア抽出: メディアライブラリ用に埋め込まれたビデオ、画像、またはオーディオを収集
金融アプリケーション
- 投資リサーチ: 企業ウェブサイトから財務諸表や年次報告書を抽出
- 経済指標: 政府や金融機関のウェブサイトから経済データを収集
- 暗号通貨データ: リアルタイムの価格と市場キャップ情報を抽出
- 金融ニュース分析: 特定の市場シグナルをニュースサイトでモニタリング
技術的アプリケーション
- APIドキュメント抽出: リファレンス用に技術文書を収集
- 統合テスト: サードパーティ統合を検証するためにウェブサイト要素を抽出
- アクセシビリティテスト: アクセシビリティ基準への準拠のためにウェブサイト構造を分析
- ウェブアーカイブ作成: 歴史的保存のためにウェブサイトコンテンツ全体をキャプチャ
統合シナリオ
- CRMシステム: 企業ウェブサイトやLinkedinからのデータで顧客プロファイルを強化
- コンテンツ管理システム: 関連する外部コンテンツをインポート
- ビジネスインテリジェンスツール: 外部市場情報で内部データを補完
- プロジェクト管理ソフトウェア: クライアントウェブサイトからの仕様や要件を抽出
- カスタムダッシュボード: 内部メトリクスと並んで抽出されたデータを表示
エラーハンドリング
すべてのエラーは共有エンベロープ形状に従います。error.typeとerror.codeをチェックしてプログラム的に分岐します:
DNS失敗 (400)
ドメインが解決されません。URLにタイプミスがないか確認してください。TLS/SSLエラー (502)
ターゲットウェブサイトに壊れたまたは互換性のないHTTPS構成があります。error.detailは診断用に特定のSSLエラーコードを提供します。error.codeは常にtls_errorです。