如何使用 Grok Scraper API 爬取 Grok 答案
Advanced Data Extraction Specialist
TL;DR
- Grok抓取API以数据格式返回xAI的答案以及其两个源面板。 向
scraper.grok演员发送一个POST请求,可以捕获完整的答案,以及web_search_results和x_search_results— Grok引用的开放网络页面和X(Twitter)帖子,作为单独的数组。 - 三个输入,其中一个不寻常。
prompt包含问题,country指定居住地,所需的推理mode—MODEL_MODE_FAST、MODEL_MODE_EXPERT或MODEL_MODE_AUTO— 控制Grok在回答之前的推理深度。 - X引用是区别因素。 Grok将实时网络搜索与X的实时推送相结合;仅捕获答案文本会丢掉说明来源的那一半数据。
- 封装与其他LLM演员匹配。
{ status, task_id, task_result },一个x-api-token,相同的端点 — ChatGPT捕获客户端通过更改演员名称和添加mode扩展到Grok。 - 运行元数据免费提供。 后续建议、脚注、令牌计数和运行的对话标识符将随同在同一有效负载中,准备进行审计追踪。
- 免费开始。 新的Scrapeless账户包括免费试用积分 — 在app.scrapeless.com注册。
介绍:内有社交推送的答案引擎
Grok通过结合两种其他主要助手不结合的源类型回答问题:实时网络搜索和直接从X拉取的帖子。无论问哪个工具可买,哪个API可靠,哪个品牌可信,答案都会将网页和X帖子折叠成一个引用答案。对于任何跟踪品牌在AI答案中表现的人来说,这使得Grok成为一个独特的界面 — 引用不仅包括索引的网络,还包括社交对话。
手动捕获这些答案通常是这样的:一个需要登录的接口、流式输出、地理敏感响应,以及一个从不打算被解析的DOM。而Grok添加了自己的新意 — 推理模式改变答案,因此捕获管道必须明确控制它。
scraper.grok演员将所有内容整合为一个HTTP请求:输入提示、国家、和模式;输出结构化答案和两个引用面板。本指南涵盖请求形状、响应架构、可运行的Python客户端以及涵盖其余AI答案领域的配套演员。有关该类别的排名视图,请参阅最佳LLM抓取指南。
您可以用它做什么
- 跨两个面板的引用份额跟踪。 统计在固定的提示集上,
web_search_results中出现的域和x_search_results中出现的账户。 - 以X驱动叙事的品牌监控。 对于先在X上形成情绪的类别,Grok的引用展示了哪些帖子塑造了模型的答案。
- 推理模式比较。 在
FAST、EXPERT和AUTO下捕获相同的提示,并测量深度如何改变答案和来源。 - 多市场捕获。 针对不同国家的运行进行对比,比较Grok就同一问题给出的不同市场回答。
- 竞争答案分析。 跟踪Grok何时开始或停止推荐某一产品,并追踪背后的引用变化。
- 数据集构建。 将提示–答案–面板三元组存储为干净的JSON,便于纵向分析。
为什么选择Scrapeless Grok抓取器
scraper.grok演员是Scrapeless LLM Chat Scraper系列的一部分,属于通用抓取API产品线:
- 两个引用面板作为离散数组。 开放网络源和X帖子分别到达 — 引用份额报告直接读取每个面板,无需重新解析。
- 推理模式为一等输入。 您可以决定每次运行Grok的思考深度,这保持了计划系列在方法上的一致性。
- 国家固定的居住出口。 在195个国家/地区设置运行,因此特定于地区的答案是可重复的。
- 跨平台一个合同。 相同的端点、头部和
{ status, task_id, task_result }封装涵盖了ChatGPT、Gemini、Perplexity和Copilot演员。
参数参考位于LLM Chat Scraper文档。
先决条件
- 一个Scrapeless账户和API密钥 — 在app.scrapeless.com注册。
- 使用
curl进行快速测试,或使用Python 3.10+进行下面的客户端。 - 对HTTP和JSON有基本的了解。
将您的密钥存储在环境中,以便它永远不会出现在代码中:
bash
export SCRAPELESS_API_KEY=your_api_token_here
Grok Scraper 的工作原理
- 端点:
POST https://api.scrapeless.com/api/v2/scraper/execute - 角色:
scraper.grok - 认证头:
x-api-token: $SCRAPELESS_API_KEY
请求参数
| 输入字段 | 必填 | 描述 |
|---|---|---|
prompt |
是 | 发送给 Grok 的问题 |
country |
是 | 运行的住宅出口的两字母国家代码(例如:US;JP 和 TW 不可用) |
mode |
是 | 推理深度:MODEL_MODE_FAST、MODEL_MODE_EXPERT 或 MODEL_MODE_AUTO |
使用 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.grok",
"input": {
"prompt": "哪个网络爬虫 API 处理 JavaScript 密集型网站?",
"country": "US",
"mode": "MODEL_MODE_EXPERT"
}
}'
响应信封
json
// 示例样本 — 来自 live scraper.grok 运行的架构;值简化
{
"status": "success",
"task_id": "52fc9c96-…",
"task_result": {
"user_query": "哪个网络爬虫 API 处理 JavaScript 密集型网站?",
"full_response": "对于 JavaScript 密集型网站,能够应对的选项是…",
"web_search_results": [
{ "title": "…", "url": "https://…", "preview": "…", "description": "…", "favicon": "…", "image": "…" }
],
"x_search_results": [],
"follow_up_suggestions": [ "…" ],
"footnotes": [],
"tool_usages": [ "…" ],
"token_count": 1024,
"user_model": "…",
"response_id": "…",
"conversation": { "conversation_id": "…", "title": "…", "create_time": "…" }
}
}
逐字段:
| 字段 | 类型 | 内容 |
|---|---|---|
task_result.user_query |
字符串 | Grok 接收到的提示 |
task_result.full_response |
字符串 | Grok 的完整回答文本 |
task_result.web_search_results[] |
数组 | 开放网络引用 — title、url、preview,以及在给定时的 description、favicon 和 image |
task_result.x_search_results[] |
数组 | Grok 引用的 X 帖子;当提示未提及社交源时为空 |
task_result.follow_up_suggestions[] |
数组 | Grok 在回答后提供的后续问题 |
task_result.footnotes[] |
数组 | 脚注条目,当回答中包含时 |
task_result.tool_usages[] |
数组 | 运行调用的工具(搜索、浏览) |
task_result.token_count |
数字 | 运行的令牌使用情况 |
task_result.conversation |
对象 | 运行标识符 — conversation_id、title、时间戳 — 作为审计键非常有用 |
在免费计划上获取您的 API 密钥:app.scrapeless.com
在 Python 中集成 API
一个完整的客户端:发送提示,检查信封,并打印两个引用面板。
python
import os
import requests
ENDPOINT = "https://api.scrapeless.com/api/v2/scraper/execute"
def ask_grok(prompt: str, country: str = "US", mode: str = "MODEL_MODE_EXPERT") -> dict:
resp = requests.post(
ENDPOINT,
headers={
"Content-Type": "application/json",
"x-api-token": os.environ["SCRAPELESS_API_KEY"],
},
json={
"actor": "scraper.grok",
"input": {"prompt": prompt, "country": country, "mode": mode},
},
timeout=300,
)
resp.raise_for_status()
return resp.json()
if __name__ == "__main__":
data = ask_grok("哪个网络爬虫 API 处理 JavaScript 密集型网站?")
result = data.get("task_result", {})
web = result.get("web_search_results") or []
x = result.get("x_search_results") or []
print(f"status={data.get('status')} web_sources={len(web)} x_sources={len(x)}")
for i, src in enumerate(web[:5], 1):
print(f" [web {i}] {src.get('title', '')[:60]} → {src.get('url', '')[:60]}")
for i, post in enumerate(x[:5], 1):
print(f" [x {i}] {str(post)[:80]}")
对于引用分享的工作,按域名分组 web_search_results URLs,按账户分组 x_search_results,并根据提示计数 — 这两个面板是独立信号,值得单独绘制。
选择推理模式
所需的 mode 是没有 ChatGPT 等效项的输入,它会同时影响延迟和输出:
MODEL_MODE_FAST— 最快的回答;适合高频次查询,广度胜于深度。MODEL_MODE_EXPERT— 更深入的推理,通常来源更丰富;适合您随时间推移的提示。允许较长的运行时间。MODEL_MODE_AUTO— Grok 根据提示选择;便于互动,但当模式保持不变时,计划中的系列更易于解释。
无论您选择哪个,都要与每次捕获一起存储它——将专家运行与快速运行进行比较就是在比较两种不同的过程。
AI回答领域的辅助角色
端点、头部和信封在整个家族中保持不变——只改变角色名称和特定于平台的输入:
scraper.chatgpt—prompt+ 可选的country;返回带有content_references引用的result_text。scraper.gemini— 相同的两个字段输入;返回result_text和citations数组。scraper.perplexity— 必需的country和一个web_search标志;返回web_results、media_items和相关提示。scraper.copilot— 在同一个合约下的 Copilot 答案表面。scraper.overview/scraper.aimode— 谷歌的AI概览区块和AI模式标签;在AI概述指南中全面覆盖。
该系列的定价是基于使用量的,注册时提供免费试用积分——当前的层级信息可在定价页面找到。
如何避免常见问题
- 许多提示返回空的
x_search_results是正常的。 技术和产品问题往往完全来自开放网络。有关人、事件和情感的提示是拉取 X 帖子的提示——当 X 面板是重点时,请相应地表达。 - 面板大小在每次运行中波动。 同样的提示在一次运行中可以引用 35 个网络来源,而在下一次仅为 20 个。用
conversation_id存储每个捕获,并阅读系列,而不是单次运行。 - 在系列中保持模式一致。 模式改变推理过程;在一个跟踪提示集中混合模式会使趋势线变得难以解释。
- 将字段视为可为空。
footnotes通常为空,Web 来源条目仅偶尔带有description/image,并且x_search_results可能为[]——请读取当前存在的内容。 - 注意国家列表。
country是必需的,JP/TW 不可用;选择您报告的市场并在每个系列中保持不变。
结论:两个面板,一个请求
捕获 Grok 简化为一个调用:POST { actor: "scraper.grok", input: { prompt, country, mode } },附上您的 x-api-token,读取 full_response 以获取答案,并将 web_search_results 和 x_search_results 作为单独的引用信号展示。保持模式不变,固定国家,存储 conversation_id,同一客户端可以从一个提示扩展到定期的多市场监测程序。
常见问题
问:抓取 Grok 答案合法吗?
该角色捕获公开呈现的答案内容。规则因司法管辖区和平台服务条款而异——请查看相关的服务条款,并为您的用例咨询顾问,尤其是在重新分发捕获内容之前。切勿收集受 GDPR 或 CCPA 保护的个人数据。
问:我如何进行身份验证?
每个请求都携带 x-api-token: <your key>。一个帐户密钥覆盖 scraper.grok 和其他所有 Scrapeless 角色。在 app.scrapeless.com 的免费计划中创建密钥。
问:我需要代理吗?
不需要。住宅出口和地理路由已内置于该角色中;所需的 country 输入是整个配置。
问:为什么需要 mode?
Grok 的推理深度会实质性改变答案,因此该角色会明确指出,而不是默默默认。在代码中,值为 API 枚举——MODEL_MODE_FAST、MODEL_MODE_EXPERT、MODEL_MODE_AUTO。
问:我如何将网络引用与 X 引用分开?
它们已经被分开到达:web_search_results 存放开放网络页面,x_search_results 存放 X 帖子。直接读取每个数组。
问:我可以在没有 SDK 或 AI 代理的情况下运行这个吗?
可以。这是纯 HTTP —— curl、Python requests、Node fetch 或任何 HTTP 客户端都可以直接针对 POST /api/v2/scraper/execute 使用。
问:我的 ChatGPT 捕获代码可以用来处理 Grok 吗?
身份验证、端点和信封是相同的。更改角色名称,添加所需的 mode 和 country,并映射 task_result 键(用 full_response 替代 result_text,用两个面板替代 content_references)。
准备构建您的 AI 答案数据管道吗?
加入我们的社区,申请免费计划,并与构建 AI 答案管道的开发者连接:Discord · Telegram。
在 app.scrapeless.com 注册以获取免费试用积分,并将 scraper.grok 角色指向您的监测程序所需的提示、模式和市场。
在Scrapeless,我们仅访问公开可用的数据,并严格遵循适用的法律、法规和网站隐私政策。本博客中的内容仅供演示之用,不涉及任何非法或侵权活动。我们对使用本博客或第三方链接中的信息不做任何保证,并免除所有责任。在进行任何抓取活动之前,请咨询您的法律顾问,并审查目标网站的服务条款或获取必要的许可。



