# スクレイピングを高速化

> maxAge（キャッシュ）パラメータでスクレイプを最大5倍高速化

import FastScrapePython from "/snippets/ja/v2/scrape/fast/python.mdx";
import FastScrapeNode from "/snippets/ja/v2/scrape/fast/js.mdx";
import FastScrapeCURL from "/snippets/ja/v2/scrape/fast/curl.mdx";
import FastCrawlPython from "/snippets/ja/v2/crawl/fast/python.mdx";
import FastCrawlNode from "/snippets/ja/v2/crawl/fast/js.mdx";
import FastCrawlCURL from "/snippets/ja/v2/crawl/fast/curl.mdx";

<div id="how-it-works">
  ## 仕組み
</div>

Firecrawl は過去にスクレイプしたページをキャッシュし、デフォルトでは利用可能な場合に新しいコピーを返します。

- **デフォルトの鮮度**: `maxAge = 172800000` ms（2日）。キャッシュのコピーがこの期間内に更新されていれば即時に返し、そうでなければ Firecrawl が新規にスクレイプしてキャッシュを更新します。
- **常に最新を取得**: 常にスクレイプするには `maxAge: 0` を設定します。この設定ではキャッシュを完全にバイパスするため、すべてのリクエストがフルのスクレイピングパイプラインを通過し、その結果、完了までに時間がかかりやすくなり、失敗する可能性も高くなります。すべてのリクエストでリアルタイムなコンテンツが不要な場合は、0 以外の `maxAge` を使用してください。
- **キャッシュを保存しない**: リクエスト結果を保存したくない場合は `storeInCache: false` を設定します。

絶対に最新である必要がない場合、結果を**最大 500% 高速**に取得できます。鮮度は `maxAge` で制御します:

1. ページの新しいバージョンがある場合は**即時に返す**
2. 指定した期間より古い場合にのみ**新規にスクレイプ**
3. **時間を節約** — 結果が秒ではなくミリ秒で返る

<div id="when-to-use-this">
  ## これを使うべきタイミング
</div>

**適している用途:**

- ドキュメント、記事、製品ページ
- バッチ処理ジョブ
- 開発・テスト
- ナレッジベースの構築

**見送るべき用途:**

- リアルタイムデータ（株価、ライブスコア、速報）
- 更新頻度の高いコンテンツ
- 時間にシビアなアプリケーション

<div id="usage">
  ## 使い方
</div>

スクレイプリクエストに `maxAge`（ミリ秒）を追加します（例：`3600000` は 1 時間）。

<CodeGroup>

<FastScrapePython />

<FastScrapeNode />

</CodeGroup>

<div id="common-maxage-values">
  ## よく使われる maxAge の値
</div>

参考になる目安は次のとおりです:

- **5分**: `300000` - 半動的なコンテンツ向け
- **1時間**: `3600000` - 毎時更新されるコンテンツ向け
- **1日**: `86400000` - 日次更新のコンテンツ向け
- **1週間**: `604800000` - 比較的静的なコンテンツ向け

<div id="performance-impact">
  ## パフォーマンスへの影響
</div>

`maxAge` が有効な場合:

- 直近のコンテンツで**応答が最大5倍高速**
- 新規スクレイプを待たずに**結果を即時に返す**

<div id="important-notes">
  ## 重要な注意事項
</div>

- **デフォルト**: `maxAge` は `172800000`（2日）
- **必要時に最新化**: データが `maxAge` より古い場合は、自動で新しくスクレイピングします
- **古いデータなし**: 指定した `maxAge` より古いデータは返されません
- **クレジット**: キャッシュされた結果も 1 ページあたり 1 クレジットを消費します。キャッシュは速度とレイテンシを改善しますが、クレジットの消費量は変わりません。

<div id="when-caching-is-bypassed">
  ### キャッシュが使用されない場合
</div>

リクエストに次のいずれかが含まれている場合、キャッシュは自動的にスキップされます。

* カスタム `headers`
* `actions` (ブラウザ自動化のステップ) 
* ブラウザ `profile`
* `changeTracking` 形式
* カスタム `screenshot` のビューポート設定または画質設定

<div id="cache-hit-matching">
  ### キャッシュヒットの一致条件
</div>

キャッシュヒットにするには、元のリクエストと後続のリクエストで、次のパラメータが完全に一致している必要があります: `url`、`mobile`、`location`、`waitFor`、`blockAds`、`screenshot` (有効/無効、およびフルページかどうか) 、および強化プロキシモード。

キャッシュの挙動は、レスポンス内の `metadata.cacheState` を確認することで検証できます。値は `"hit"` または `"miss"` になります。

<div id="faster-crawling">
  ## より高速なクロール
</div>

複数のページをクロールする場合にも、同じ速度向上のメリットが適用されます。最近確認されたページのキャッシュされた結果を取得するには、`scrapeOptions` 内で `maxAge` を使用してください。

<CodeGroup>

<FastCrawlPython />
<FastCrawlNode />
<FastCrawlCURL />

</CodeGroup>

`maxAge` を使用してクロールすると、そのページの最近のキャッシュデータがある場合、クロール内の各ページで 500% の速度向上の恩恵を受けられます。

今すぐ `maxAge` を使用して、スクレイピングとクロールを劇的に高速化しましょう！

> Firecrawl API キーが必要な AI agent ですか？ 自動オンボーディング手順については、[firecrawl.dev/agent-onboarding/SKILL.md](https://www.firecrawl.dev/agent-onboarding/SKILL.md) を参照してください。
