微软 Copilot 抓取 API:获取答案和引用
Lead Scraping Automation Engineer
TL;DR:
- Copilot 抓取 API 将 Microsoft Copilot 的回答转换为结构化 JSON。 向
scraper.copilot发送一个 POST 请求会返回响应文本、其背后的引用以及它显示的基本链接——作为字段,而不是截图。 - 三个输入运行整个过程。
prompt用于承载问题,可选的country确定该市场的住宅出口运行,可选的mode选择 Copilot 的回答风格。 - 引用准备好以便图表化。
citations将每个引用的来源列为{ title, url }——无需解析步骤的引用跟踪原材料。 - 封装格式保持不变。 每次调用返回
{ status, task_id, task_result },与其他 Scrapeless LLM actor 形状相同,因此为 Copilot 编写的包装器可以无缝扩展至 ChatGPT、Grok、Gemini 和 Perplexity。 - 无需看管浏览器。 渲染、会话处理和代理轮换在服务器端运行;您只需调用一个端点,带上
x-api-token头,并返回 JSON。 - 免费开始。 新的 Scrapeless 账户包括免费试用积分——可在 app.scrapeless.com 注册。
介绍:Copilot 在买家已有工作场所提供答案
Microsoft Copilot 嵌入在 Windows、Edge、Microsoft 365 和 Bing 中——对于大量商业用户来说,Copilot 是他们首先咨询的助手。当该用户询问最佳 CRM、最佳代理提供商或最佳帮助台工具时,Copilot 返回一段简短的综合回答,并附有一些引用来源。一个品牌要么在该答案中被提及,要么对该买家是不可见的。
手动跟踪该答案无法扩展:每次生成的响应都是全新的,引用的来源在旋转,措辞在运行中会有所变化。要将其作为数据进行监控,您需要将答案及其引用作为结构化字段。
本指南将介绍 Scrapeless 抓取 API 中的 scraper.copilot actor——一个经过身份验证的单 POST 请求,返回 Copilot 的答案文本、其引用和链接,以 JSON 格式返回,与其他 Scrapeless LLM 答案业务一致。
您可以用它做什么
- 跟踪品牌在 Copilot 中的可见性。 运行一组固定的购买意图提示,检查您的品牌是否出现在答案文本和引用列表中。
- 测量引用份额。 按域对
citationsURLs 进行分组,以查看 Copilot 在某个主题上依赖哪些来源,以及您在其中的排名。 - 将 Copilot 与其他引擎进行比较。 向
scraper.copilot、scraper.chatgpt、scraper.gemini和scraper.perplexity发送相同的提示,并逐一对比答案和来源。 - 监控答案漂移。 按计划定期捕获相同的提示,并图表显示答案及其引用如何随时间变化。
- 供下游管道使用。 结构化的
result_text和citations可直接导入数据库、仪表板或 LLM 评估集。
为什么选择 Scrapeless Copilot 抓取器
Copilot 是一个在 Microsoft 身份验证和反自动化防御背后的 JavaScript 应用程序;一个 原始 HTTP 请求 不会返回任何有用的数据,而 自己驱动真实的浏览器会话 意味着需要渲染、登录和维护代理轮换。Scrapeless Copilot 抓取器——作为 Universal Scraping API 的一部分——在服务器端处理该表面并返回 干净的 JSON。具体来说,它为 Copilot 带来了:
- 195 个国家的住宅出口,所以
country值捕获真正用户在该市场看到的答案。 - 云端渲染和会话处理——无需运行、登录或保持活跃的浏览器。
- 与所有其他 Scrapeless LLM actor 共享的稳定响应封装,因此一个客户端涵盖整个产品线。
- 作为一流字段的引用——每个来源的
{ title, url },可随时进行分组和计数。
在免费计划中获取您的 API 密钥,访问 app.scrapeless.com。
先决条件
- 一个 Scrapeless 帐户和 API 密钥(免费计划包括试用积分)—— app.scrapeless.com。
- 将密钥导出为环境变量,以避免在源代码中出现:
bash
export SCRAPELESS_API_KEY="your_api_token_here"
curl用于初次捕获,下面的工作客户端使用 Python 3 和requests。
Copilot Scraper 的工作原理
您指定角色,提供输入,并在一个 header 中发送您的密钥。
- 端点:
POST https://api.scrapeless.com/api/v2/scraper/execute - 角色:
scraper.copilot - 认证头:
x-api-token: $SCRAPELESS_API_KEY
请求参数
| 输入字段 | 是否必需 | 描述 |
|---|---|---|
prompt |
是 | 要发送给 Copilot 的问题 |
country |
否 | 两字母国家代码,固定运行的居住出路(例如 US) |
mode |
否 | Copilot 回答风格;smart 是最近捕获的默认值 |
使用 curl 快速捕获
bash
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.copilot",
"input": { "prompt": "2026 年最佳代理提供商有哪些?", "country": "US", "mode": "smart" }
}'
响应封装
json
// 示例 — 来自真实 scraper.copilot 运行的模式;值经过缩略
{
"status": "success",
"task_id": "…",
"task_result": {
"prompt": "2026 年最佳代理提供商有哪些?",
"mode": "smart",
"result_text": "最佳提供商取决于您的用例… [1]",
"citations": [
{ "title": "2026 年十大最佳代理提供商:测试与排名", "url": "https://…" }
],
"links": [
"https://…"
]
}
}
逐字段说明:
| 字段 | 类型 | 内容 |
|---|---|---|
status |
字符串 | 运行完成时为 success |
task_id |
字符串 | 运行的标识符,作为您自有存储中的审计键 |
task_result.prompt |
字符串 | Copilot 接收到的提示 |
task_result.mode |
字符串 | 产生响应的回答模式(例如 smart) |
task_result.result_text |
字符串 | 整个答案以markdown格式呈现,内联引用标记保留 |
task_result.citations[] |
数组 | 每个引用的来源为 { title, url } |
task_result.links[] |
数组 | 与答案一同呈现的简单链接(如有) |
在免费计划上获取您的 API 密钥:app.scrapeless.com
在 Python 中集成 API
一个完整的客户端:发送提示,检查封装,并打印引用表。
python
import os
import requests
ENDPOINT = "https://api.scrapeless.com/api/v2/scraper/execute"
def ask_copilot(prompt: str, country: str = "US", mode: str = "smart") -> dict:
resp = requests.post(
ENDPOINT,
headers={
"Content-Type": "application/json",
"x-api-token": os.environ["SCRAPELESS_API_KEY"],
},
json={"actor": "scraper.copilot", "input": {"prompt": prompt, "country": country, "mode": mode}},
timeout=180,
)
resp.raise_for_status()
return resp.json()
if __name__ == "__main__":
data = ask_copilot("2026 年最佳代理提供商有哪些?")
result = data.get("task_result", {})
citations = result.get("citations") or []
print(f"status={data.get('status')} mode={result.get('mode')} citations={len(citations)}")
for i, c in enumerate(citations, 1):
print(f" [{i}] {c.get('title', '')[:60]} → {c.get('url', '')[:60]}")
答案内容保存在 result.get("result_text") 中,格式为 markdown;对于引用工作的规模,上述循环通常就是整个工作——按域对打印的 URL 进行分组并计数。
其他 AI 回答生态的辅助角色
相同的端点、头和封装覆盖相邻平台——只有角色名称和一两个特定于平台的字段有所不同:
scraper.chatgpt——相同的提示/国家输入;返回result_text以及一个content_references引用数组和search_result面板。scraper.grok——添加一个必需的推理mode,返回独立的web_search_results和x_search_results引用面板。scraper.gemini——与 ChatGPT 相同的两个字段输入;返回result_text以及一个citations数组。scraper.perplexity——需要一个必需的country和一个web_search标志;返回web_results、media_items和相关提示。scraper.overview/scraper.aimode——Google 的 AI 概述块和 AI 模式标签;AI 概述指南 全面覆盖该对。
该线的定价基于使用量,注册时提供免费试用积分——当前层级可参见定价页面。
如何避免常见问题
- 某些提示的
citations为空。 Copilot 并不是对每个答案都引用来源——带有意见色彩或完全生成的提示可能会返回没有引用的答案。为了进行引用跟踪,按研究买家的方式措辞提示(“最佳 X 用于 Y”),这样可以可靠触发基于网络的答案。 - 答案在不同运行中变化。 相同的提示可能在几分钟内产生不同的答案和引用集——这种波动性是您正在测量的现象。使用其
task_id和时间戳存储每个捕获,并将系列视为信号,而不是任何单次运行。 - 将每个字段视为可为 null。
links通常为空,引用计数在不同运行之间波动。读取现有内容,而不是断言一个固定的形状。 - 故意锁定国家。 未锁定的运行捕获一个答案;锁定的运行捕获您关心的市场的答案。在存储记录中保留
country值,以便系列可以保持可比性。
结论:将 Copilot 答案作为一行依赖项
Copilot 是 Windows、Edge 和 Microsoft 365 用户的大型基础的第一站助手,它返回的答案决定了您的品牌是否被看到。scraper.copilot 演员将该答案转换为结构化记录——文本、引用、链接——与其他 Scrapeless LLM 演员位于同一信封上,因此监控 Copilot 是您可能已经为 ChatGPT 或 Gemini 运行的管道的一行添加。
准备构建您的 AI 答案数据管道吗?
加入我们的社区以申请免费计划并与构建 AI 答案管道的开发人员联系:Discord · Telegram。
在 app.scrapeless.com 注册以获取免费试用积分,并将 scraper.copilot 演员指向您的监控程序所需的提示、市场和时间表。
常见问题
Q: 抓取 Microsoft Copilot 答案合法吗?
A: 该演员读取公开可用的答案内容,与访客看到的内容相同。与任何抓取一样,限制使用公共数据,尊重平台条款,避免收集个人数据,并在用例不明确时咨询律师。
Q: 我需要 Microsoft 账户或处理登录吗?
A: 不需要。身份验证、会话处理和渲染在服务器端进行;您发送提示并读取 JSON 返回。
Q: 为什么每次运行相同提示时引用不同?
A: Copilot 动态生成答案,并在每次运行时重新选择来源,因此引用集会发生变化。每轮之间的这种变化是监测系列旨在跟踪的信号——使用 task_id 和时间戳存储每个捕获。
Q: 我可以捕获特定国家的答案吗?
A: 可以。在输入中传递一个两字母的 country 代码,以将运行固定到该市场的住宅出口,从而捕获本地用户看到的答案。
Q: 这与 ChatGPT 或 Gemini 抓取器有什么不同?
A: 只有演员名称和一个或两个字段。scraper.copilot 在 citations 下返回其引用;信封 { status, task_id, task_result } 是相同的,因此一个客户端可以涵盖整个 LLM 答案行。
在Scrapeless,我们仅访问公开可用的数据,并严格遵循适用的法律、法规和网站隐私政策。本博客中的内容仅供演示之用,不涉及任何非法或侵权活动。我们对使用本博客或第三方链接中的信息不做任何保证,并免除所有责任。在进行任何抓取活动之前,请咨询您的法律顾问,并审查目标网站的服务条款或获取必要的许可。



