メインコンテンツへスキップ

Documentation Index

Fetch the complete documentation index at: https://docs.olostep.com/llms.txt

Use this file to discover all available pages before exploring further.

Olostepの/v1/crawlsエンドポイントを使用して、ウェブサイトをクロールし、すべてのページのコンテンツを取得できます。
  • ウェブサイトをクロールし、すべてのサブページのコンテンツを取得(またはクロールの深さを制限)
  • 特定のページをクロールするための特別なパターンを使用(例:/blog/**
  • クロール完了時に通知を受け取るためにwebhook_urlを渡す
  • 特定のページを見つけるための検索クエリと関連性でソート
APIの詳細については、クロールエンドポイントAPIリファレンスを参照してください。

インストール

pip install olostep

クロールを開始

開始URL、含める/除外するURLグロブ、max_pagesを指定します。オプション:max_depthinclude_externalinclude_subdomainsearch_querytop_nwebhook_urltimeout
from olostep import Olostep

client = Olostep(api_key="YOUR_REAL_KEY")

crawl = client.crawls.create(
    start_url="https://olostep.com",
    max_pages=100,
    include_urls=["/**"],
    exclude_urls=["/collections/**"],
    include_external=False,
)

print(crawl.id, crawl.status)
Olostepではすべてがオブジェクトであるため、レスポンスとしてcrawlオブジェクトを受け取ります。crawlオブジェクトには、idstatusなどのプロパティがあり、これを使用してクロールを追跡できます。

クロールのステータスを確認

statuscompletedになるまでクロールをポーリングして進捗を追跡します。
# 前のステップのcrawlオブジェクトを使用
info = crawl.info()
print(info.status, info.pages_count)

# または完了するまで待つ
crawl.wait_till_done(check_every_n_secs=5)
または、クロール開始時にwebhook_urlを渡して、クロールが完了したときに通知を受け取ることができます。

ページを一覧表示(カーソルでページネート/ストリーム)

cursorlimitを使用してページを取得し、繰り返し処理します。クロールがin_progressまたはcompletedの間に動作します。
# すべてのページを繰り返し処理(クロール完了を自動的に待機し、ページネーションを処理)
for page in crawl.pages():
    print(page.url, page.retrieve_id)

検索クエリ(関連性の高い上位N件に制限)

開始時にsearch_queryを使用し、オプションでリストをsearch_queryでフィルタリングします。ページごとの探索をtop_nで制限します。
from olostep import Olostep

client = Olostep(api_key="YOUR_REAL_KEY")

crawl = client.crawls.create(
    start_url="https://olostep.com",
    max_pages=100,
    include_urls=["/**"],
    search_query="contact us",
    top_n=5,
)

for page in crawl.pages(search_query="contact us"):
    print(page.url)

コンテンツを取得

各ページのretrieve_idを使用して、/v1/retrieveからhtml_contentおよび/またはmarkdown_contentを取得します。
# クロールされた各ページのコンテンツを取得
for page in crawl.pages():
    content = page.retrieve(["markdown"])
    print(content.markdown_content)

注意事項

  • ページネーションはカーソルベースです。cursorがなくなるまでリクエストを繰り返します。
  • /v1/crawls/{crawl_id}/pagesのコンテンツフィールドは非推奨です。/v1/retrieveを使用してください。
  • Webhooks: クロール完了時にPOSTを受け取るためにwebhook_urlを設定します。

料金

クロールには、クロールされたページごとに1クレジットがかかります。