スクレイピングを高速化
maxAge(キャッシュ)パラメータでスクレイプを最大5倍高速化
Firecrawl は過去にスクレイプしたページをキャッシュし、デフォルトでは利用可能な場合に新しいコピーを返します。
- デフォルトの鮮度:
maxAge = 172800000ms(2日)。キャッシュのコピーがこの期間内に更新されていれば即時に返し、そうでなければ Firecrawl が新規にスクレイプしてキャッシュを更新します。 - 常に最新を取得: 常にスクレイプするには
maxAge: 0を設定します。この設定ではキャッシュを完全にバイパスするため、すべてのリクエストがフルのスクレイピングパイプラインを通過し、その結果、完了までに時間がかかりやすくなり、失敗する可能性も高くなります。すべてのリクエストでリアルタイムなコンテンツが不要な場合は、0 以外のmaxAgeを使用してください。 - キャッシュを保存しない: リクエスト結果を保存したくない場合は
storeInCache: falseを設定します。
絶対に最新である必要がない場合、結果を最大 500% 高速に取得できます。鮮度は maxAge で制御します:
- ページの新しいバージョンがある場合は即時に返す
- 指定した期間より古い場合にのみ新規にスクレイプ
- 時間を節約 — 結果が秒ではなくミリ秒で返る
適している用途:
- ドキュメント、記事、製品ページ
- バッチ処理ジョブ
- 開発・テスト
- ナレッジベースの構築
見送るべき用途:
- リアルタイムデータ(株価、ライブスコア、速報)
- 更新頻度の高いコンテンツ
- 時間にシビアなアプリケーション
スクレイプリクエストに maxAge(ミリ秒)を追加します(例:3600000 は 1 時間)。
from firecrawl import Firecrawl
firecrawl = Firecrawl(
# 開始にAPI keyは不要です — より高いrate limitsには追加してください:
# api_key="fc-YOUR_API_KEY",
)
# Use cached data if it's less than 1 hour old (3600000 ms)
# This can be 500% faster than a fresh scrape!
scrape_result = firecrawl.scrape(
'https://firecrawl.dev',
formats=['markdown'],
max_age=3600000 # 1 hour in milliseconds
)
print(scrape_result.markdown)参考になる目安は次のとおりです:
- 5分:
300000- 半動的なコンテンツ向け - 1時間:
3600000- 毎時更新されるコンテンツ向け - 1日:
86400000- 日次更新のコンテンツ向け - 1週間:
604800000- 比較的静的なコンテンツ向け
maxAge が有効な場合:
- 直近のコンテンツで応答が最大5倍高速
- 新規スクレイプを待たずに結果を即時に返す
- デフォルト:
maxAgeは172800000(2日) - 必要時に最新化: データが
maxAgeより古い場合は、自動で新しくスクレイピングします - 古いデータなし: 指定した
maxAgeより古いデータは返されません - クレジット: キャッシュされた結果も 1 ページあたり 1 クレジットを消費します。キャッシュは速度とレイテンシを改善しますが、クレジットの消費量は変わりません。
リクエストに次のいずれかが含まれている場合、キャッシュは自動的にスキップされます。
- カスタム
headers actions(ブラウザ自動化のステップ)- ブラウザ
profile changeTracking形式- カスタム
screenshotのビューポート設定または画質設定
キャッシュヒットにするには、元のリクエストと後続のリクエストで、次のパラメータが完全に一致している必要があります: url、mobile、location、waitFor、blockAds、screenshot (有効/無効、およびフルページかどうか) 、およびステルスプロキシモード。
キャッシュの挙動は、レスポンス内の metadata.cacheState を確認することで検証できます。値は "hit" または "miss" になります。
複数のページをクロールする場合にも、同じ速度向上のメリットが適用されます。最近確認されたページのキャッシュされた結果を取得するには、scrapeOptions 内で maxAge を使用してください。
from firecrawl import Firecrawl
from firecrawl.v2.types import ScrapeOptions
firecrawl = Firecrawl(api_key="fc-YOUR_API_KEY")
# キャッシュを活用したスクレイピングによるクロール — 最近取得済みのページは最大5倍高速
crawl_result = firecrawl.crawl(
'https://firecrawl.dev',
limit=100,
scrape_options=ScrapeOptions(
formats=['markdown'],
max_age=3600000 # Use cached data if less than 1 hour old
)
)
for page in crawl_result.data:
print(f"URL: {page.metadata.source_url}")
print(f"Content: {page.markdown[:200]}...")maxAge を使用してクロールすると、そのページの最近のキャッシュデータがある場合、クロール内の各ページで 500% の速度向上の恩恵を受けられます。
今すぐ maxAge を使用して、スクレイピングとクロールを劇的に高速化しましょう!
Firecrawl API キーが必要な AI agent ですか? 自動オンボーディング手順については、firecrawl.dev/agent-onboarding/SKILL.md を参照してください。