DeepSeek Scraper API: 回答、推論、およびソースをJSONとしてキャプチャする
Expert in Web Scraping Technologies
TL;DR:
scraper.deepseekアクターは、DeepSeek にプロンプトを送信し、回答を JSON として返します。 必要な入力は 2 つ —promptとcountry— が入ります;task_resultオブジェクトが 21 個のフィールドを持ち、レンダリングされたmarkdown、生のhtml、およびトークン数が返されます。- 推論トレースはペイロードにあり、隠されてはいません。
thinking: trueを送信すると、レスポンスは DeepSeek のステップバイステップの計画テキストと、それに費やした秒数を含むTHINKフラグメントを取得します。 - 2 つのブールフラグは、レスポンスの形状を変更し、その内容だけではありません。
thinkingとsearchはそれぞれフラグメントタイプを追加します; 両方を送信すると、DeepSeek はエージェンティックシーケンスに切り替わり、検索を行い、個々のページを開き、ステップ間で再計画します。 - 未知の入力キーは受け入れられ、コメントなしで無視されます。
web_search、thinking_enabled、search_enabled、およびmodelはすべて HTTP 201 を返し、何も変わりません — 一方で、名前が正しいが型が間違っているキーは 400 を返します。他のアクターからキャプチャスクリプトを移植すると、そのフラグは途中で消えます。 - 引用は送信したフラグによって異なる 3 つのエンコーディングで届きます。 プレーン検索モードは
[citation:N]マーカーをcite_indexに対して使用します; エージェンティックモードは[reference:N]マーカーをゼロベースのバックポインタ配列に対して使用します。このガイドでは、両方の解決方法を示します。 - 無料で始められます。 新しい Scrapeless アカウントには無料トライアルクレジットが含まれています — app.scrapeless.com にサインアップしてください。
はじめに: 答えはペイロードの半分だけ
DeepSeek スクレイパー API を検索すると、見つかるほとんどすべては、既に取得した HTML に DeepSeek モデルを指向させることについてです。それは本当の技術であり、Scrapeless はそれを DeepSeek ウェブスクレイピングガイド でカバーしています。このガイドは逆方向に進みます: DeepSeek がソースであり、欲しいデータは誰かが質問したときに DeepSeek が言うことです。
そのデータは、ChatGPT や Gemini の回答が重要であるのと同じ理由で重要です。買い手がアシスタントにどのツールを選ぶかを尋ねるとき、回答とそれに続くページは市場のシグナルです。DeepSeek には他のアシスタントがあまり提供しない 2 つのものがあります: 明示された推論トレースと — 両方の能力フラグをオンにすると — どのページを開いてフルで読んだかの可視記録です。
scraper.deepseek アクターはそれを 2 回の HTTP コールに変換します: 1 回はプロンプトを送信し、もう 1 回は結果を取得します。このガイドでは、リクエストの形状、ライブ実行からキャプチャされた完全なレスポンススキーマ、実行可能な Python クライアント、およびペイロードが必要とし、文書化されていない引用解決ロジックについて説明します。
何ができるか
- DeepSeek があなたのカテゴリをどのように説明しているかを追跡します。 固定プロンプトセットを定期的に実行し、
markdownの回答とその背後にあるソースを保存します。 - 結論の背後にある推論をキャプチャします。
THINKフラグメントは、DeepSeek が回答する前に質問をどのようにフレーム化したかを示します — これは、製品が推奨された理由を気にする時に役立ちます。 - 引用のシェアを測定します。 検索モードでは、ペイロードは DeepSeek が取得したすべてのソースを持ち、そのタイトル、URL、サイト名、および発行タイムスタンプを含みます。
- DeepSeek が開いたページを、単にリストされたものと分けます。 エージェンティックモードでは、
TOOL_OPENフラグメントがエンドツーエンドで読まれた特定の URL を記録します — これは検索結果よりもかなり狭いセットです。 - 市場を比較します。
countryは実行の出口を固定し、同じプロンプトをいくつかの地域でキャプチャして比較できます。 - 回答データセットを構築します。 プロンプト、回答、推論、およびソースは、1 回の実行につき 1 つの JSON オブジェクトとして到着し、保存の準備が整います。
Scrapeless DeepSeek スクレイパーの理由
scraper.deepseek アクターは、ユニバーサルスクレイピング API ライン内の LLM チャット スクレイパー ファミリーに属します:
- 1 つのプロンプトが入り、構造化された回答が出ます。 ログイン処理とストリーミング再構成はサーバー側で行われるため、解析のために構築されていないインターフェースには触れません。
- フラグメントストリームは保持されます。 推論、検索クエリ、開かれたページ、および最終的な回答は、1 つのフラットな文字列ではなく、別々の型付きオブジェクトとして到着します。
- 国に固定された住宅出口。 実行は195か国以上の住宅プロキシを通ってルーティングされます; 必要な
country入力は全体の構成です。 - 家族全体で 1 つの契約。 エンドポイント、
x-api-tokenヘッダー、および送信後に収集するフローは、ChatGPT、Gemini、Perplexity、Copilot、および Grok アクターすべてに対して同一です。
ドキュメンテーションに関する注意: LLM Chat Scraper クイックスタート は共有タスクフローを文書化し、ファミリーの他のアクターをリストしますが、まだ DeepSeek ページはありません。以下に記載のあるすべてのフィールドとフラグは、参照ページから読み取るのではなく、アクターに対するライブ実行から取得されたものです。
必要条件
- Scrapeless アカウントと API キー — app.scrapeless.com で作成します。
- クイックキャプチャ用の
curlとjq、またはクライアント用の Python 3.10+。 - HTTP と JSON の知識。
キーは環境の中に保持して、ソースツリーに到達しないようにします:
bash
export SCRAPELESS_API_KEY=your_api_token_here
DeepSeek Scraper API の動作
アクターは非同期です。タスクを作成した後、それを収集します。
- 送信:
POST https://api.scrapeless.com/api/v2/scraper/request→201で{"status": "pending", "task_id": "..."}とともに - 収集:
GET https://api.scrapeless.com/api/v2/scraper/result/{task_id}→202で{"status": "running"}が実行中の間、次に200で完全な結果を取得します - 認証ヘッダー:
x-api-token: $SCRAPELESS_API_KEY
202 は、HTTP セマンティクス仕様が定義する仕事を正確に実行しています: リクエストは受け入れられ、処理は完了しておらず、結果は別の場所に存在します。その場所を固定の間隔でポーリングし、200 に応答するまで待機します。完了した結果は 5 分間保持されるため、迅速に収集するか、代わりに Webhook を登録してください。
リクエストパラメータ
| 入力フィールド | 必須 | 型 | 説明 |
|---|---|---|---|
prompt |
はい | 文字列 | DeepSeek に送信する質問 |
country |
はい | 文字列 | 実行の居住者出力用の 2 文字の国コード、例: US |
thinking |
いいえ | ブール値 | DeepSeek の推論トレースを THINK フラグメントとして公開します |
search |
いいえ | ブール値 | 実行がライブウェブソースを取得できるようにし、それらをペイロードに返します |
必須フィールドは送信時に検証されます。country を省略すると 400 が Key: 'deepseekParam.Country' Error:Field validation for 'Country' failed on the 'required' tag で返されます; prompt を省略すると Prompt の一致するメッセージが返されます。国コードは ISO 3166-1 alpha-2 標準 に従います。
curl でのクイックキャプチャ
タスクを送信し、完了までポーリングし、構造の要約を印刷します:
bash
TASK_ID=$(curl -sS -X POST https://api.scrapeless.com/api/v2/scraper/request \
-H "Content-Type: application/json" \
-H "x-api-token: ${SCRAPELESS_API_KEY}" \
-d '{
"actor": "scraper.deepseek",
"input": {"prompt": "Explain how HTTP caching headers work.", "country": "US"}
}' | jq -r '.task_id')
echo "task_id=${TASK_ID}"
for _ in $(seq 1 60); do
BODY=$(curl -sS -H "x-api-token: ${SCRAPELESS_API_KEY}" \
"https://api.scrapeless.com/api/v2/scraper/result/${TASK_ID}")
echo "${BODY}" | jq -e '.status == "success"' >/dev/null 2>&1 && break
sleep 4
done
echo "${BODY}" | jq -r '"status=" + .status,
"fragments=" + ([.task_result.fragments[].type] | join(",")),
"answer_chars=" + (.task_result.markdown | length | tostring),
"tokens=" + (.task_result.accumulated_token_usage | tostring)'
応答エンベロープ
完了した収集呼び出しは、JSON インターチェンジフォーマット標準 が定義するプレーンな JSON ドキュメントを返し、2 つの最上位キーを持っています: status と task_result。
json
// illustrative sample — every key and type below is from live scraper.deepseek runs; long strings abridged
{
"status": "success",
"task_result": {
"markdown": "To handle caching, an HTTP response carries…",
"html": "<p class=\"ds-markdown-paragraph\">…</p>",
"fragments": [
{"type": "RESPONSE", "id": 2, "stage_id": 1, "content": "To handle caching…", "references": []}
],
"accumulated_token_usage": 637,
"thinking_enabled": false,
"search_enabled": false,
"search_triggered": false,
"status": "FINISHED",
"quasi_status": "FINISHED",
"role": "ASSISTANT",
"message_id": 2,
"parent_id": 1,
"conversation_mode": "DEFAULT",
"inserted_at": 1786037083.6987588,
"model": "",
"feedback": null,
"incomplete_message": null,
"auto_continue": false,
"ban_edit": false,
"ban_regenerate": false,
"has_pending_fragment": false
}
}
フィールドごとの詳細:
| フィールド | 型 | 何を保持 |
|---|---|---|
task_result.markdown |
文字列 | CommonMark 仕様 に基づく Markdown での回答 — これはほとんどのパイプラインが求めるフィールドです |
task_result.html |
文字列 | DeepSeek の ds-markdown-* クラス名を持つ、レンダリングされた HTML と同じ回答 |
task_result.fragments[] |
配列 | 回答を生成した型付きステップの順序付けられたストリーム; 次のセクションを参照 |
task_result.accumulated_token_usage |
数字 | 実行によって消費されたトークン |
task_result.thinking_enabled |
ブール値 | 推論トレースが要求されたかどうかを反映 |
task_result.search_enabled |
ブール値 | ライブ取得が要求されたかどうかを反映 |
task_result.search_triggered |
ブール値 | 実際に取得が実行されたかどうか |
task_result.status / quasi_status |
文字列 | 完了した実行で両方が FINISHED を読みます |
task_result.role |
文字列 | ASSISTANT |
task_result.message_id / parent_id |
数字 | 会話内の位置; 新しい実行は親 1 の下でメッセージ 2 です |
task_result.inserted_at |
数字 | 小数秒を含む Unix タイムスタンプ |
task_result.conversation_mode |
文字列 | すべてのキャプチャされた実行での DEFAULT |
task_result.model |
文字列 | このガイドのためにキャプチャされたすべての実行で空、model 入力を供給した実行を含む |
task_result.feedback / incomplete_message |
null | 予約済み; 完了した実行では null |
task_result.auto_continue, ban_edit, ban_regenerate, has_pending_fragment |
ブール値 | インターフェースステートフラグ、すべて false 完了した実行で |
model は、読み取るフィールドとしてではなく、利用できないものと見なしてください。どの構成がキャプチャを生成したかを知る必要がある場合は、応答とともに送信したフラグを記録してください。
無料プランで API キーを取得する: app.scrapeless.com
フラグメントストリームが詳細を保持しています
fragments は、このアクターを通常のチャットキャプチャから区別するフィールドです。その長さと構成は送信するフラグによって変わります:
| 送信されたフラグ | フラグメントシーケンス | あなたが得るもの |
|---|---|---|
| なし | RESPONSE |
答えのみ |
thinking: true |
THINK, RESPONSE |
理由のテキストとその期間 |
search: true |
SEARCH, RESPONSE |
DeepSeekが発行したクエリと取得したすべてのソース |
| 両方 | THINK, TOOL_SEARCH, THINK, TOOL_OPEN × N, THINK, RESPONSE |
エージェンティックループ:計画、検索、再計画、個々のページを開く、再計画、回答 |
フラグメントタイプは異なるキーを持ち、これが素朴なパーサーを壊す部分です:
RESPONSE—content,id,stage_id,type,references。contentは引用マーカーがまだ埋め込まれた答えです。THINK— 同じキーにelapsed_secsが追加されます。理由のみのモードではトレースは1つの長いブロックです;エージェンティックモードでは、ツール呼び出し間の短い計画ノートがいくつかになります。SEARCH—queries(DeepSeekが構成した検索文字列)、results(ソース)、status、およびcontentはnullです。stage_idはありません。TOOL_SEARCH—SEARCHのエージェンティックモードの同等物で、stage_idが追加されています。TOOL_OPEN—reference(URLを出すトランザクションの検索フラグメントへのポインタ)と、開かれた1つのページのための単一のresultオブジェクト。contentなし、referencesなし。
すべてのソースオブジェクト — SEARCH.results, TOOL_SEARCH.results, および TOOL_OPEN.result — は同じ8つのキーを持っています: title, url, snippet, site_name, site_icon, published_at, query_indexes, および cite_index。
このガイドのためにキャプチャされたエージェンティックランは13フラグメントを生成しました:オープニングプラン、4つのクエリを実行し38のユニークURLを返した1つの TOOL_SEARCH、DeepSeekが全文を読むことにしたページのための8つの TOOL_OPEN フラグメント、2つのプランニングノート、そして答え。TOOL_OPEN セットが興味深いものであり、これら8つのURLはDeepSeekが実際に読んだもので、38のURLは単に見ただけのものであることを示しています。
これが暴露する理由の振る舞いは、DeepSeek-R1 強化学習論文</a;で説明されているのと同じ能力であり、アクターの貢献はトレースをレンダリングされたパネルではなくフィールドとして利用可能にすることです。
PythonでのAPIの統合
完全なクライアント:送信、完了までポーリング、参照番号によってソースをインデックス化します。
python
# deepseek_client.py — submit a prompt to scraper.deepseek and collect the result
import os
import time
import requests
BASE = "https://api.scrapeless.com/api/v2/scraper"
HEADERS = {
"Content-Type": "application/json",
"x-api-token": os.environ["SCRAPELESS_API_KEY"],
}
def ask_deepseek(prompt, country="US", thinking=False, search=False, interval=4):
created = requests.post(
f"{BASE}/request",
headers=HEADERS,
json={
"actor": "scraper.deepseek",
"input": {
"prompt": prompt,
"country": country,
"thinking": thinking,
"search": search,
},
},
timeout=60,
)
created.raise_for_status()
task_id = created.json()["task_id"]
while True:
collected = requests.get(f"{BASE}/result/{task_id}", headers=HEADERS, timeout=120)
if collected.status_code == 200:
return collected.json()
if collected.status_code != 202:
raise RuntimeError(f"task {task_id} did not complete: {collected.text}")
time.sleep(interval)
def sources_by_citation(result):
"""Every source the run produced, keyed by the cite_index used in the answer."""
found = {}
for fragment in result.get("fragments") or []:
for source in fragment.get("results") or []:
found[source.get("cite_index")] = source
if fragment.get("result"):
found[fragment["result"].get("cite_index")] = fragment["result"]
return found
if __name__ == "__main__":
payload = ask_deepseek(
"What are the latest developments in fusion energy research?",
search=True,
)
result = payload["task_result"]
fragments = result.get("fragments") or []
cited = sources_by_citation(result)
print(f"status={payload['status']} search_triggered={result['search_triggered']}")
print("fragments=" + ",".join(f.get("type", "?") for f in fragments))
print(f"answer_chars={len(result['markdown'])} tokens={result['accumulated_token_usage']}")
print(f"sources={len(cited)}")
for index in sorted(k for k in cited if isinstance(k, int))[:3]:
source = cited[index]
print(f" [citation:{index}] {source['site_name']} -> {source['url']}")
1つのキャプチャされたラン:
text
status=success search_triggered=True
fragments=SEARCH,RESPONSE
answer_chars=7664 tokens=926
sources=11
[citation:1] Lawrence Livermore National Laboratory (.gov) -> https://lasers.llnl.gov/news/llnl-experts-help-advance-inertial-fusion-energy-us-ife-conference
[citation:2] Reuters -> https://www.reuters.com/business/energy/fusion-energy-developer-tae-signs-helium-3-future-fuel-supply-option-agreement-2026-08-05/
[citation:3] Oak Ridge National Laboratory (.gov) -> https://www.ornl.gov/news/oak-ridge-national-lab-cleveland-clinic-and-ibm-achieve-first-known-computations-fusion?utm_source=Sutor-Group-Intelligence-and-Advisory&utm_medium=daily-links&utm_campaign=Substack
これらの [citation:N] ラベルは、答えのテキストに埋め込まれた同じマーカーであり、印刷された行はすでに機能する引用インデックスです。3つ目のURLにも注意してください — ソースURLはDeepSeekが遭遇したものそのままで、リファラートラッキングパラメータも含まれているため、ドメインごとにキャプチャをグループ化する前に正規化してください。
thinking=True, search=True への呼び出しを切り替えることによって、平坦な SEARCH フラグメントをエージェンティックシーケンスに置き換え、開かれたページのセットを得ることができます。そのモードが理由のトレースが存在する場所であり、またペイロードが最も予測不可能な場所でもあります — それに基づいて構築する前に次の2つのセクションを確認してください。
引用の解決
DeepSeekはそのソースを答えのテキスト内にマークし、マーカー形式はどのフラグが実行を生成したかによって異なります。2つのフラグの組み合わせ、3つのエンコーディングがそれらの間にあり、すべてライブキャプチャと照合されています:
検索のみ。 RESPONSE フラグメントの content は [citation:N] マーカーを持ち、N は cite_index フィールドが SEARCH フラグメントの results エントリに一致します。このモードにおけるトップレベル markdown は、同じ情報の2つ目のエンコーディングを持ちます:それらのマーカーはすでにインラインMarkdownリンクに解決されています。可読な文章だけが必要なパイプラインは markdown を読んで結合を完全にスキップできます。
思考と検索が一緒。 マーカーは [reference:N] になり、N は RESPONSE フラグメントの references 配列へのゼロベースインデックスです — cite_index ではありません。その配列内の各エントリは {"id": 5, "type": "TOOL_OPEN"} の形式のバックポインタであり、ソースを供給したフラグメントを特定します。このモードでは、トップレベル markdown は RESPONSE コンテンツとバイト同一性を持ち、マーカーもすべて同様ですので、結合はあなたにかかっています。
その第二のケースには、報告を構築する前に知っておくべき正直な限界があります。TOOL_OPENバックポインタはクリーンに解決されます。なぜなら、そのフラグメントは正確に1つのresultを保持しており、したがって正確に1つのURLを保持しているからです。TOOL_SEARCHバックポインタはそうではありません — それは数十の結果を保持するフラグメントを指名し、どのソースから主張が来たのかを特定せずに検索ステップから来たことを伝えます。あるエージェンティックキャプチャでは、69件の参照のうち45件がTOOL_OPENフラグメントを指しており、特定のURLに解決されました。残りの24件は検索フラグメント全体を指しています。また、cite_indexはnullで、エージェンティックモードのフラグメント内の結果には使用できません。
実際的な結果: 主張ごとのソース帰属が成果物である場合は、search: trueのみを実行し、cite_indexを使用してください。推論トレースと実際に開かれたページのリストが必要な場合は、両方のフラグを設定して、引用の結びつきを部分的なものとして扱ってください。
一般的なデータシェイプの問題
- 不明な入力キーは受け入れられ、静かに無視されます。
web_search: true、thinking_enabled: true、search_enabled: true、またはmodel: "deepseek-reasoner"を送信すると、すべて201が返され、フラグが設定されていない状態で実行され、ペイロード内に警告は表示されません。正しい名前は正確にthinkingとsearchです。名前は正しいが型が間違ったキーは異なる動作をします — 文字列としてthinking: "true"を返すと400 invalid paramsになります — そのため、APIは認識するキーに対して型を検証し、それ以外はドロップします。ChatGPTキャプチャスクリプトを移植している場合、それのweb_searchフラグは消え、すべてのDeepSeekの回答はソースなしで返されます。 - サポートされていない国はコレクトで失敗し、提出では失敗しません。
country: "ZZ"は、201とtask_idを持つ通常の201を返します; 失敗は400として{"message": "execution failed", "status": "failed"}のコレクトコールに表示されます。国コードを確認するのはあなた側で行い、提出ステータスを確認として読むことは避けてください。 markdownとRESPONSEのコンテンツは常に同じ文字列ではありません。 検索のみモードではmarkdownが長く、引用マーカーがリンクに展開されているためです。他のすべてのモードでは両者は一致します。一つのフィールドを選び、それに留まってください。referencesは引用リストではありません。 それは{id, type}バックポインタの配列で、エージェンティックモード以外では空です。ソース自体は検索とオープンフラグメント内に存在します。- フラグメントキーセットは型によって異なります。
SEARCHはqueriesとresultsを持っていますが、stage_idはありません;TOOL_OPENはreferenceと単一のresultを持っていますが、contentはありません。typeによってフラグメントを読み取ることができ、位置によっては読み取らないでください。 - エージェンティックモードはフラットモードよりもはるかに多くの変動があります。 検索のみの実行は、このガイドのために行われたすべてのキャプチャで
SEARCH, RESPONSEとして返されました。両方のフラグが設定されている場合、同一のプロンプトの連続キャプチャは8、15、13ページを開き、回答の長さは3,720から6,707文字まで変動し、いくつかの実行はTOOL_SEARCHからRESPONSEに直接行き、一つのページも開くことなく終了しました。あなたのパイプラインが開かれたページセットを必要とする場合は、空のものを通常の結果として扱い、単一の実行ではなく系列を読み取ってください。 - タスクは失敗状態で終わることがあり、それはコレクトコールで表面化します。 少数のエージェンティック実行は成功ではなく失敗として終了しました; コレクトコールは
400を返し、200と同様に、サポートされていない国の場合と正確に同じです。上記のクライアントは続行する前に202を確認し、他のどんなことがあってもボディとともにエラーを上げますので、タスクIDとサーバーのメッセージは双方ともにあなたのログに届きます。失敗したタスクはあなたのデータセットの記録された結果として扱い、隠すものではありません。
コンパニオンアクター
エンドポイント、ヘッダー、および提出その後のコレクトフローは、ファミリー全体で同じままです — アクター名とそのプラットフォーム特有の入力のみが変わります。
scraper.chatgpt—promptにcountryをプラスし、独自のweb_searchフラグがあります。scraper.gemini— 同じ2フィールドの入力で、答えと引用の配列を返します。scraper.perplexity— 必要なcountryおよびweb_searchフラグ; ウェブ結果と関連プロンプトを返します。scraper.grok— 推論modeを必要とし、オープンウェブとX引用を別々の配列として返します; GrokスクレイパーAPIガイドでカバーされています。scraper.copilotおよびscraper.alexa— CopilotとAlexaの回答は、同じ契約の下で表示されます。
各アクターが独自にフラグに名前を付けているため、アクターごとに入力ビルダーを維持し、共有の辞書を跨いで使わないでください。ラインの使用ベースの料金体系で、サインアップ時には無料のトライアルクレジットがあります。詳細は料金ページをご覧ください。
結論: 2回の呼び出しと注意深く読む価値のあるペイロード
DeepSeekをキャプチャするには、2回のHTTP呼び出しが必要です: タスクを作成するためにPOST { actor: "scraper.deepseek", input: { prompt, country } } を実行し、その後、200 に応答するまで結果をGETします。回答はmarkdown にあります。DeepSeekを独特なものにしているすべての要素—推論トレース、検索クエリ、開かれたページ—はfragments に含まれており、thinking と search を使って要求した場合のみ表示されます。その2つのフラグの名前を正確に指定してください。他のものを送信するとAPIはそれを受け入れ、静かに無視します。
DeepSeekの回答をデータとしてキャプチャする準備はできましたか?
無料プランを取得し、AI回答パイプラインを構築する開発者と情報を交換するためにコミュニティに参加してください: Discord · Telegram。
無料トライアルクレジットを手に入れるためにapp.scrapeless.comにサインアップし、監視プログラムがカバーするプロンプトや市場にscraper.deepseekを向けてください。
FAQ
Q: DeepSeekスクレイパAPIリクエストの認証はどうすればいいですか?
すべての呼び出しには、送信と収集リクエストの両方にx-api-token: <your key> ヘッダーが含まれています。1つのアカウントキーでscraper.deepseek と他のすべてのScrapelessアクターをカバーします。無料プランでアカウントキーを作成してください。
Q: なぜリクエストは回答の代わりにtask_idを返しますか?
アクターは非同期であるため、送信は201 と{"status": "pending", "task_id": "..."} で返され、回答は/api/v2/scraper/result/{task_id} への2回目の呼び出しから到着します。そのエンドポイントは、実行が完了するまで202 と{"status": "running"}を返し、その後200 と完全なtask_resultを提供します。完了した結果は5分間保持され、Webhook URLはポーリングの代替手段です。
Q: DeepSeekの推論トレースを取得するにはどうすればよいですか?
入力に"thinking": trueを送信してください。レスポンスには、THINK フラグメントが含まれ、そのcontent は推論テキストで、elapsed_secs はそれに費やされた時間です。そのフラグがない場合、推論は生成されず、thinking_enabledはfalseとして戻ります。
Q: DeepSeekスクレイパはソースと引用を返しますか?
はい、"search": true を送信した場合は返します。ソースはtitle、url、snippet、site_name、site_icon、published_at、query_indexes、およびcite_indexとしてオブジェクトで到着し、SEARCH または TOOL_SEARCH フラグメントに添付されています。フラグがなければ、ソースは取得されず、回答はモデル単独から生成されます。
Q: なぜ私のweb_search パラメータが効果を発揮しないのですか?
それはChatGPTアクターのパラメータ名だからです。DeepSeekのフラグはsearchで、未知のキーは201と共に受け入れられ、エラーなしで破棄されます。同様にthinking_enabled、search_enabled、modelにも当てはまり、thinkingとsearchを正確に使用してください。
Q: どのフィールドが空またはヌラブルですか?
model は、このガイド用にキャプチャされたすべての実行で空の文字列として戻り、feedback と incomplete_message は完了した実行でnull です。references は、両方のフラグが使用されていない限り空です。search_triggeredは、search が要求されなかった場合falseのままです。防御的に読み、欠落したフィールドを欠落として扱い、失敗として扱わないでください。
Q: SDKなしでこれを実行できますか?
はい。これは通常のHTTPです—curl、Python requests、Node fetch、またはJSON POSTとGETを1つのヘッダーで送信できる任意のクライアントです。
Q: DeepSeekの回答をキャプチャすることは合法ですか?
アクターは公開に生成された回答コンテンツをキャプチャしますが、ルールは法域やプラットフォームの利用規約によって異なります。適用される利用規約を確認し、特にキャプチャを再配布する前にお客様のユースケースについて法的助言を受けてください。また、GDPRやCCPAに基づいて保護された個人データを収集しないでください。あなたのパイプラインがDeepSeekが引用するソースURLを取得する際には、それぞれのサイトでロボット排除プロトコルによって標準化されたクローラ指令を遵守してください。
Scrapelessでは、適用される法律、規制、およびWebサイトのプライバシーポリシーを厳密に遵守しながら、公開されているデータのみにアクセスします。 このブログのコンテンツは、デモンストレーションのみを目的としており、違法または侵害の活動は含まれません。 このブログまたはサードパーティのリンクからの情報の使用に対するすべての責任を保証せず、放棄します。 スクレイピング活動に従事する前に、法律顧問に相談し、ターゲットウェブサイトの利用規約を確認するか、必要な許可を取得してください。



