🎯 一款可定制、具备反检测功能的云浏览器,由自主研发的 Chromium驱动,专为网页爬虫AI 代理设计。👉立即试用
返回博客

ChatGPT 抓取 API:以 JSON 格式提供 AI 答案和引用

Emily Chen
Emily Chen

Advanced Data Extraction Specialist

30-Jun-2026

TL;DR:

  • ChatGPT抓取API将模型的答案转换为结构化的JSON。scraper.chatgpt演员发送一个POST请求将返回响应文本、其背后的引用和ChatGPT参考的网络搜索结果——以字段的形式,而不是截图。
  • 两个输入运行整个过程。 prompt携带问题;可选的country将运行锁定在该市场的住宅出口,以便捕捉到用户在该地区看到的答案。
  • 引用准备就绪以便绘图。 content_references列表包含每个引用来源的标题、URL和归属——用于引用份额跟踪的原材料,无需解析步骤。
  • 封装始终不变。 每个调用返回{ status, task_id, task_result },与其他Scrapeless LLM演员的形式相同,因此为ChatGPT编写的包装可以不变地扩展到Grok、Gemini、Perplexity和Copilot。
  • 无需看管的浏览器。 渲染、会话处理和代理轮换在服务器端运行;你只需调用一个端点,带上x-api-token头,然后获取JSON响应。
  • 免费开始。 新的Scrapeless账户包括免费试用积分——请在app.scrapeless.com注册。

介绍:答案是新的结果页面

ChatGPT直接回答产品问题:买家询问最佳帮助台工具、最佳客户关系管理(CRM)、最佳代理提供商,得到一份简短的综合推荐和少数引用来源。没有第二页。品牌要么在那个答案中被提及——要么对那个买家来说是不可见的。

这种变化产生了新的数据需求。曾经跟踪排名的团队现在需要答案本身:要存储、对比并随时间绘制,并带有解释模型为何如此回答的引用。通过在浏览器中操作聊天界面捕获这些内容意味着登录墙、流式响应和会在没有通知的情况下更改的标记

scraper.chatgpt演员将问题简化为一个HTTP请求:问题在,结构化答案出。该指南涵盖请求形状、响应架构逐字段说明、可运行的Python客户端,以及将相同模式扩展到其他AI答案领域的辅助演员。有关工具类别本身的排名视图,请查看最佳LLM抓取工具指南,其中涵盖了ChatGPT及其他平台。


您可以用它做什么

  • 引用份额跟踪。 定期在固定提示集上运行并计算ChatGPT针对每个问题引用了哪些域——取代排名跟踪的地理指标。
  • 品牌提及监控。 检测回答购买问题时是否开始或停止提及您的产品,以及该提及来源于哪个来源。
  • 竞争答案分析。 捕捉模型如何在各个市场和时间段描述一个产品类别,并将支持链接作为数据。
  • 多地区捕捉。 将运行固定在不同国家并并排比较答案——地区的变化会影响答案和引用。
  • 内容策略反馈。 查看您哪些页面实际上获得了引用,以及针对哪些提示,而不是凭猜测判断流量。
  • 数据集构建。 收集提示-答案-引用三元组,以干净的JSON形式进行后续分析或评估管道。

为什么选择Scrapeless ChatGPT抓取工具

scraper.chatgpt演员是Scrapeless LLM聊天抓取工具家族的一部分,位于通用抓取API系列中。它将AI答案视为一类优先目标:

  • 一个请求,结构化输出。 无需驱动浏览器,无需重组流式数据,无需解析DOM——演员在服务器端渲染聊天界面并返回解析字段。
  • 引用作为数据。 content_references将每个引用来源作为一个独立对象;答案主体保留其内联引用标记,以便将两者绑定。
  • 国家固定住宅出口。 运行通过195个国家的住宅代理,因此特定地区的答案可以在每个市场中重现。
  • 一个令牌,一个封装,五个平台。 相同的x-api-token{ status, task_id, task_result }合同覆盖ChatGPT、Grok、Gemini、Perplexity和Copilot演员。

完整的参数参考可在LLM聊天抓取工具文档中找到。


前提条件

  • 一个 Scrapeless 账户和 API 密钥 — 请在 app.scrapeless.com 注册。
  • 使用 curl 进行快速测试,或者使用 Python 3.10+ 运行下面的客户端。
  • 对 HTTP 和 JSON 的基本了解。

将您的密钥存储在环境中,以确保它不会出现在代码中:

bash Copy
export SCRAPELESS_API_KEY=your_api_token_here

ChatGPT 爬虫的工作原理

您指定演员,输入内容,并在一个头部中发送您的密钥。

  • 端点: POST https://api.scrapeless.com/api/v2/scraper/execute
  • 演员: scraper.chatgpt
  • 认证头: x-api-token: $SCRAPELESS_API_KEY

请求参数

输入字段 必需 描述
prompt 要发送给 ChatGPT 的问题
country 指定运行的居住地点的两字母国家代码(例如 US

使用 curl 快速捕获

bash Copy
curl -sS -X POST https://api.scrapeless.com/api/v2/scraper/execute \
  -H "Content-Type: application/json" \
  -H "x-api-token: ${SCRAPELESS_API_KEY}" \
  -d '{
    "actor": "scraper.chatgpt",
    "input": { "prompt": "什么是最好的网页抓取工具?", "country": "US" }
  }'

响应信封

json Copy
// 说明性示例 — 来自实时 scraper.chatgpt 运行的架构;值已简化
{
  "status": "success",
  "task_id": "7218e510-…",
  "task_result": {
    "prompt": "什么是最好的网页抓取工具?",
    "model": "gpt-5-5",
    "result_text": "最佳工具取决于用例…… ([source][1])",
    "content_references": [
      { "title": "…", "url": "https://…", "attribution": "…" }
    ],
    "search_result": [
      { "title": "…", "url": "https://…", "snippet": "…", "attribution": "…" }
    ],
    "links": [],
    "products": null,
    "web_search": false
  }
}

逐字段解析:

字段 类型 内容
status 字符串 完成运行时为 success
task_id 字符串 运行的标识符,可作为您自己存储中的审计键
task_result.prompt 字符串 ChatGPT 接收到的提示
task_result.model 字符串 回答的模型(例如,最近捕获的 gpt-5-5
task_result.result_text 字符串 作为 markdown 的完整答案,内联引用标记被保留
task_result.content_references[] 数组 每个引用的来源,格式为 { title, url, attribution }
task_result.search_result[] 数组 ChatGPT 用于回答的网页搜索结果
task_result.links[] 数组 答案中出现的裸链接,若存在
task_result.products 数组 | null 购物相关提示的产品参考;否则为 null

在免费计划中获取您的 API 密钥:app.scrapeless.com


在 Python 中集成 API

一个完整的客户端:发送提示,检查信封,打印引用表。

python Copy
import os
import requests

ENDPOINT = "https://api.scrapeless.com/api/v2/scraper/execute"


def ask_chatgpt(prompt: str, country: str = "US") -> dict:
    resp = requests.post(
        ENDPOINT,
        headers={
            "Content-Type": "application/json",
            "x-api-token": os.environ["SCRAPELESS_API_KEY"],
        },
        json={"actor": "scraper.chatgpt", "input": {"prompt": prompt, "country": country}},
        timeout=180,
    )
    resp.raise_for_status()
    return resp.json()


if __name__ == "__main__":
    data = ask_chatgpt("什么是最好的网页抓取工具?")
    result = data.get("task_result", {})
    refs = result.get("content_references") or []
    print(f"status={data.get('status')} model={result.get('model')} citations={len(refs)}")
    for i, ref in enumerate(refs, 1):
        print(f"  [{i}] {ref.get('attribution', '')}: {ref.get('title', '')[:60]} → {ref.get('url', '')[:60]}")

答案主体保持在 result.get("result_text") 中,格式为 markdown;对于引用分享工作,上述循环通常是整件工作的全部 — 按域对打印的 URL 进行分组并计数。


其余 AI 答案生态的辅助演员

相同的端点、头部和信封覆盖相邻平台 — 只有演员名称和一两个平台特定的字段有所不同:

  • scraper.grok — 添加所需的推理 mode,并返回单独的 web_search_resultsx_search_results 引用面板。
  • scraper.gemini — 与 ChatGPT 相同的两个字段输入;返回 result_text 以及 citations 数组。
  • scraper.perplexity — 需要 countryweb_search 标志;返回 web_resultsmedia_items 和相关提示。
  • scraper.copilot — 在相同合同下的 Copilot 答案表面。
  • scraper.overview / scraper.aimode — Google 的 AI 概述块和 AI 模式选项卡;AI 概述指南 涵盖了该对的所有内容。
    该线路的定价基于使用量,注册时提供免费试用积分——当前的定价等级可在 定价 页面上查看。

如何避免常见问题

  • 某些提示的 content_references 为空。 ChatGPT 不会为每个答案引用来源——带有意见色彩或纯生成的提示可能会返回没有引用的答案。为了进行引用追踪,可以用研究购买者的方式表述提示(如“最佳 X 用于 Y”),这能可靠地触发基于网络的答案。
  • 答案因运行而异。 相同的提示可以在几分钟内产生不同的答案和引用集合——这种波动性就是你所测量的现象。储存每个捕获的 task_id 和时间戳,并将系列视为信号,而不是任意单次运行。
  • 将每个字段视为可为空。 products 在购物提示之外为 nulllinks 通常为空,并且引用计数在运行间波动。阅读现有内容,而不是强加固定形状。
  • 故意锁定国家。 未固定的运行捕获 一个 答案;固定的运行捕获你关心市场的答案。将 country 值保持在存储记录中,以便系列保持可比性。

结论:答案作为一行依赖项

捕获 ChatGPT 的答案归结为一个请求:POST { actor: "scraper.chatgpt", input: { prompt, country } } 并带上你的 x-api-token,阅读 result_text 以获取答案,content_references 以获取来源,并与其 task_id 一并存储。相同的客户端,指向一组提示和日程,成为引用份额程序;指向相关演员,则成为整个 AI 答案领域的覆盖。

准备好构建你的 AI 答案数据管道了吗?

加入我们的社区,领取免费计划并与正在构建 AI 答案管道的开发者联系: Discord · Telegram

app.scrapeless.com 注册以获取免费试用积分,并将 scraper.chatgpt 演员指向你的监测程序所需的提示、市场和日程。

常见问题

问:抓取 ChatGPT 答案合法吗?

该演员捕获公开渲染的答案内容。规则因司法管辖区和平台的服务条款而异,因此请查看相关的服务条款,并咨询法律顾问以适用于你的用例——特别是在重新分发捕获的答案之前。切勿收集受 GDPR 或 CCPA 保护的个人数据。

问:我该如何进行身份验证?

每个请求都带有头信息 x-api-token: <你的密钥>。一个账户密钥适用于 scraper.chatgpt 和其他所有 Scrapeless 演员。可以在 app.scrapeless.com 的免费计划上创建一个密钥。

问:我需要代理吗?

不需要。居民出境和地理路由已内置于该演员中——输入中的 country 是整个配置。

问:country 实际上有什么变化?

该运行的居民退出市场。ChatGPT 的答案和引用对地点敏感,因此一个“德国”固定的运行可能会引用不同的产品和来源,而对同一提示来说,“美国”固定的运行可能会有所不同。

问:如何获取干净的引用列表?

读取 task_result.content_references ——每个条目是 { title, url, attribution }。不需要文本解析;result_text 中的内联标记仅在你希望将引用固定到句子时存在。

问:我可以在没有 SDK 或 AI 代理的情况下运行吗?

可以。这是普通的 HTTP——curl、Python requests、Node fetch 或任何 HTTP 客户端都可以直接针对 POST /api/v2/scraper/execute 工作。不需要 SDK。

问:相同的代码适用于 Grok 或 Gemini 吗?

信封和身份验证是相同的;只需替换演员名称并调整平台特定的输入字段(Grok 需要 mode,Perplexity 需要 country)。每个平台的 task_result 密钥各不相同,因此请根据每个演员进行映射。

在Scrapeless,我们仅访问公开可用的数据,并严格遵循适用的法律、法规和网站隐私政策。本博客中的内容仅供演示之用,不涉及任何非法或侵权活动。我们对使用本博客或第三方链接中的信息不做任何保证,并免除所有责任。在进行任何抓取活动之前,请咨询您的法律顾问,并审查目标网站的服务条款或获取必要的许可。

最受欢迎的文章

目录