適切なendpointの選択
FourAは4つのrequest endpointを提供しており、それぞれ異なるシナリオに最適化されています。適切なendpointを選択することで、時間を節約し、コストを削減し、成功率を向上させることができます。
迅速な決定ガイド
auto endpointを使用する場合:
- 新しいサイトをターゲットにしており、何が必要かまだ分からない場合
- direct、proxyローテーション、およびbrowserフォールバックを自動で処理する単一の呼び出しを希望する場合
- 同じホストへの次回の呼び出し時に安価にリプレイできるセッションが必要な場合
single endpointを使用する場合:
- ページがサーバーレンダリングされている場合(JavaScript不要)
- 最大限の速度が必要な場合(通常1秒未満)
- 動作することが既に分かっているホストからAPIまたは静的HTMLページにアクセスする場合
browser endpointを使用する場合:
- ページがコンテンツのレンダリングにJavaScriptに依存している場合
- 最初のページ読み込み後にコンテンツが読み込まれる場合
- 完全にレンダリングされたDOMが必要な場合
proxy endpointを使用する場合:
- ターゲットサイトがrequestを積極的にブロックしている場合
- 複数のIPアドレスをローテーションする必要がある場合
- 以前の試行で403またはCAPTCHAページが返された場合
Endpointの比較
Auto (POST /api/auto/)
スマートフェッチのendpointです。URLと(理想的には)validateルールを渡すと、FourAはコストを考慮したラダー(安価な直接プローブ、ローテーションされたproxy、完全なブラウザ)を実行します。validateに一致するresponseを返した最初の段階が採用されます。同じホストへの繰り返しの呼び出しでは、ウォームセッションがリプレイされるため、2回目の呼び出しは安価になります。
curl -X POST https://eu.api.foura.ai/api/auto/ \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/product/42",
"validate": {"data": {"accept": ["Add to cart"]}}
}'
標準的なresponse時間: 200ミリ秒(ウォーム)から30秒以上(難易度の高いサイトでのコールド解決) 最適な用途: 新規ターゲット、複数の保護が混在するサイト、「とにかくページが欲しい」場合
詳細な手順については、Smart Fetchガイドを参照してください。
Single (POST /api/single/)
最も高速なオプションです。ブラウザプロセスを起動せずに、実際のブラウザに近い通信特性を持つHTTP requestを送信します。
curl -X POST https://eu.api.foura.ai/api/single/ \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"method": "GET", "url": "https://example.com/api/products"}'
標準的なresponse時間: 200ミリ秒から2秒 最適な用途: API、ニュースサイト、ブログ、静的な製品ページ
Browser (POST /api/browser/)
ChromeブラウザインスタンスでURLを開きます。ページが完全に読み込まれ、JavaScriptが実行され、最終的にレンダリングされたHTMLを取得します。
curl -X POST https://eu.api.foura.ai/api/browser/ \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/spa-app",
"timeout_ms": 15000,
"checkText": "data-table"
}'
標準的なresponse時間: 2秒から10秒 最適な用途: シングルページアプリケーション(SPA)、遅延読み込みのあるサイト、JavaScriptでレンダリングされるコンテンツ
Proxy (POST /api/proxy/)
HTTP requestと自動proxyローテーションを組み合わせます。最初の試行が失敗またはブロックされた場合、FourAは異なるproxyを介して再試行します。
curl -X POST https://eu.api.foura.ai/api/proxy/ \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"maxTries": 5,
"request": {
"method": "GET",
"url": "https://example.com/pricing"
}
}'
標準的なresponse時間: 1秒から5秒 最適な用途: Eコマースの価格監視、旅行アグリゲーション、ボット検出のあるサイト
Autoと手動の比較
どのような場合にautoに選択させ、どのような場合に自身でSingle、Proxy、またはBrowserを呼び出すべきでしょうか。
| autoを選択する場合 | 手動を選択する場合 |
|---|---|
| サイトが何を必要としているかまだ分からない場合 | ターゲットがどのエンジンを必要としているか正確に分かっている場合 |
| とにかく機能する単一の呼び出しを希望する場合 | 既知のターゲットに対してrequestの形状を最適化している場合 |
| autoが学習したセッションを再利用しても構わない場合 | 呼び出しごとの再試行、タイムアウト、およびproxyの選択を完全に制御したい場合 |
| 最初の呼び出しで数秒のプローブにコストをかけてもよい場合 | 最初の呼び出しのレイテンシが検出よりも重要である場合 |
autoが常に最も安価な選択肢であるとは限りません。ターゲットがSingleとunblockerを有効にした状態で動作することが既に分かっている場合、Singleを直接呼び出すとプローブがスキップされ、2クレジットのコストで済みます。同じターゲットでautoを使用すると、ラダーが消費した分のコストがかかります。
アプローチを組み合わせる場合
一部のワークフローでは、複数のendpointを使用することで利点があります。
- autoで検出:
validateルールを渡し、サイトがラダーのどの段階を必要としているかを判断させます。 - singleでリプレイ: autoが返した
session.proxy、session.cookies、およびsession.userAgentを取得し、同じホスト上の後続ページのためにそれらを使用してSingleを呼び出します。 - browserへのフォールバック: singleが失敗し始めた場合は、browserレンダリングに切り替えます。
- proxyの追加: autoを使用せずにブロック(403 / CAPTCHA)されている場合は、自動ローテーションのためにrequestをproxy endpointでラップします。
この段階的なアプローチにより、成功率を高く保ちながらコストを低く抑えることができます。
パフォーマンスのヒント
- 保護されたターゲットには
validate.data.accept部分文字列を渡します。これがないと、autoは実際のページとチャレンジ用のインタースティシャルを区別できません。 - 動作することが分かっているホストにはデフォルトでsingle endpointを使用し、必要な場合にのみアップグレードします。
- 不要なコンテンツを待機しないように、browserのrequestで
checkTextを設定します。 - proxyのrequestで
maxTriesを設定し、再試行の動作を制御します(デフォルトは5、最大は90)。 timeout_msは妥当な値に保ちます。ほとんどのページでは10から15秒、保護されたサイトに対するコールドのauto実行では30秒以上にします。
次のステップ
- Smart Fetch (Auto):
/api/auto/の詳細 - API Endpoints: 完全なパラメータリファレンス
- 動的ウェブサイトのスクレイピング: browserのrequestに関するステップバイステップガイド
- クイックスタート: 30秒で行う最初のrequest