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

AI回答引擎的关键词研究:挖掘答案自身的框架

Emily Chen
Emily Chen

Advanced Data Extraction Specialist

29-Jun-2026

简而言之:

  • AI回答是现成的内容大纲。 当一个引擎回答一个主题时,其结构化答案的标题和加粗短语就是它认为重要的子主题——挖掘这些,你就能从模型实际返回的内容中构建出关键词和大纲图。
  • 一个提示,多个引擎,一个封装。 Scrapeless LLM演员(scraper.chatgptscraper.geminiscraper.perplexity等)共享一个端点和一个{ status, task_id, task_result }形状,因此单个循环可以捕获每个引擎的回答文本。
  • 信号来自答案自身的结构,而非引用。 result_text中的Markdown标题和短加粗短语就是子主题;提取它们不需要模型密钥,只需要一个解析器。
  • 跨引擎覆盖排名子主题。 多个引擎独立提到的子主题,是你的内容几乎必需涵盖的内容。
  • 按计划运行。 随时间重新捕获一个种子主题,并观察引擎开始或停止强调哪些子主题。
  • 免费开始。 新的Scrapeless账户包括免费试用信用——可以在app.scrapeless.com注册。

流程一览

传统的关键词研究始于搜索框和流量估计。AI回答研究则始于答案本身:询问引擎你的种子主题,并回读它施加的结构——它将主题分成的部分、它加粗的概念、以及它们的顺序。该结构是模型为你撰写的内容简要。

构建分为三个阶段,基于Universal Scraping API

  1. 捕获 — 通过Scrapeless演员在AI回答引擎上运行种子主题;存储每个答案。
  2. 提取 — 从每个答案的Markdown中提取标题和短加粗短语;这些就是候选子主题。
  3. 排名 — 计算有多少个引擎提到每个子主题;重合部分是你的优先顺序。

输出是一个排名的子主题列表,你可以将其转化为大纲、简要或关键词聚类。有关引擎引用的来源的附属指标,请参见AI概述爬虫指南


你可以用它做什么

  • 从答案构建内容简要。 引擎的标题成为你的H2;加粗短语成为每个部分需要涵盖的要点。
  • 找到现有页面的空缺。 将引擎的子主题与已有部分进行比较,并撰写缺失的内容。
  • 按意图集群关键词。 同时出现在多个引擎中的子主题应归入同一个作品;独立存在的主题可能值得拥有自己独立的页面。
  • 跟踪主题漂移。 每月重新捕获,观察哪些子主题上升——关于主题走向的早期阅读。
  • 用证据简要撰写者。 “三个引擎围绕X、Y和Z进行结构化”比猜测提供了更强的简要。

为什么选择Scrapeless LLM演员

每个AI助手都是一个 JavaScript应用程序,背后有身份验证和 反自动化防御;自己捕获答案意味着每个平台都需要渲染、登录和 代理轮换。Scrapeless LLM演员在服务器端运行这些过程,并将答案作为一个字段返回。特别是在子主题挖掘方面,它们带来了:

  • 跨引擎共享的{ status, task_id, task_result }封装,因此一个循环和一个解析器覆盖整个集合。
  • result_text作为Markdown——标题和加粗标记完整保留,这正是提取器所读取的内容。
  • 在195多个国家的住宅出口,因此一个固定的country能捕获该市场真实用户看到的答案结构。
  • 无需运行或保持登录的浏览器——一个端点,一个x-api-token头。

演员线的定价是基于使用的,注册时提供免费试用信用——当前的定价层次请见定价页面。在免费计划中获取你的API密钥,前往app.scrapeless.com


前提条件

  • 一个 Scrapeless 账户和 API 密钥(免费计划包括试用积分)— app.scrapeless.com
  • 您环境中的密钥:
bash Copy
export SCRAPELESS_API_KEY="your_api_token_here"
  • 使用 requests 的 Python 3。提取步骤仅使用标准库。

第1阶段 — 捕获答案

一个循环覆盖所有引擎,因为参与者共享一个端点和一个信封。答案文本以 markdown 格式保留在 result_text 中,标题和粗体标记完好无损。

python Copy
import json
import os
import time

import requests

ENDPOINT = "https://api.scrapeless.com/api/v2/scraper/execute"
HEADERS = {
    "Content-Type": "application/json",
    "x-api-token": os.environ["SCRAPELESS_API_KEY"],
}

SEED = "初学者的网络爬虫"
COUNTRY = "US"

ENGINES = {
    "chatgpt": {"actor": "scraper.chatgpt", "extra": {}},
    "perplexity": {"actor": "scraper.perplexity", "extra": {"web_search": True}},
    "gemini": {"actor": "scraper.gemini", "extra": {}},
}

with open("answers.jsonl", "w", encoding="utf-8") as out:
    for platform, spec in ENGINES.items():
        payload = {"actor": spec["actor"], "input": {"prompt": SEED, "country": COUNTRY, **spec["extra"]}}
        data = requests.post(ENDPOINT, headers=HEADERS, json=payload, timeout=300).json()
        result = data.get("task_result") or {}
        out.write(json.dumps({
            "platform": platform,
            "seed": SEED,
            "captured_at": int(time.time()),
            "status": data.get("status"),
            "result_text": result.get("result_text") or "",
        }) + "\n")
        print(f"{platform}: {data.get('status')}")

answers.jsonl 的每一行是一个引擎对种子的完整回答。

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


第2和第3阶段 — 提取子主题并按重叠排名

从每个答案的 markdown 中提取标题和简短的粗体短语,然后计算有多少个引擎提到每一个。故意省略 web_results 的标题 — 它们包含第三方页面名称,而不是子主题。

python Copy
# extract.py — answers.jsonl -> 排名的子主题候选
import json
import re
from collections import Counter

cands = Counter()
for line in open("answers.jsonl", encoding="utf-8"):
    record = json.loads(line)
    text = record["result_text"]
    for heading in re.findall(r"^#{2,4}\s+(.+)$", text, re.M):
        cands[heading.strip().lower()[:60]] += 1
    for bold in re.findall(r"\*\*(.+?)\*\*", text):
        phrase = bold.strip().lower()
        if 2 <= len(phrase.split()) <= 6 and not phrase.startswith("http") and ":" not in phrase:
            cands[phrase[:60]] += 1

ranked = [{"subtopic": k, "hits": c} for k, c in cands.most_common(25) if k]
json.dump(ranked, open("keywords.json", "w"), indent=2)
for item in ranked[:12]:
    print(f'{item["hits"]}x  {item["subtopic"]}')

对种子 “初学者的网络爬虫” 进行的实时运行显示了像 javascript 渲染网站反机器人保护大规模爬虫有代码与无代码 的决策、python 爬虫栈检查元素 等子主题 —— 这些正是面向初学者的页面应覆盖的确切部分。由于每次运行时答案会重新生成,精确的列表会有所变化;跨引擎和跨运行反复出现的子主题是值得优先考虑的持久主题。


调度和扩展系列

按计划运行 capture.py 然后 extract.py,并按 captured_at 追加每次运行的结果。以下是实时运行中的一些注意事项:

  • 过滤噪音。 markdown 标题包括“这是什么”之类的框架 — 保留一个小停用列表,或者要求一个子主题在两个或多个引擎中出现后才算数。
  • 按跨引擎重叠排名,而不是原始频率。 三个引擎独立提及的子主题比一个引擎重复自己更具信号强度。
  • 确定 country 回答结构会因市场而异;在记录中保留该值,以便系列保持可比性。
  • 与引用数据配对。 子主题告诉你 涉及什么;引用来源(单独的捕获)告诉你 是引擎目前信任的。

结论:让答案为你的大纲写作

针对一个主题的最快内容简报就是 AI 引擎每次回答时已生成的内容。捕获答案,阅读其结构,并在引擎之间对子主题进行排名,那么“这个页面应该覆盖什么?”就不再是一个猜测——它变成了一个你衡量过的列表。

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

加入我们的社区以申请免费计划,并与构建 AI 答案管道的开发者联系: Discord · Telegram
app.scrapeless.com 注册以获取免费试用积分,并将管道指向您的内容程序所涵盖的种子主题和市场。

常见问题

问:这与关键词工具有什么不同?

答:关键词工具提供查询字符串和流量估算。而这个工具提供的是 AI 引擎在回答中施加的子主题结构——它认为重要的部分和概念——这比扁平的关键词列表更直接地映射到大纲上。

问:提取步骤需要模型 API 密钥吗?

答:不需要。标题和粗体标记是纯文本 markdown,因此提取器仅使用标准库。基于模型的处理是聚类或标记的可选升级。

问:为什么子主题在不同运行之间会变化?

答:每个引擎会重新生成其答案,因此确切的标题会有所不同。这就是为什么管道通过跨引擎和跨运行的重叠进行排名——重复出现的子主题是稳定的信号。

问:抓取 AI 答案合法吗?

答:参与者阅读公开可用的回答内容。与任何抓取行为一样,限制使用公共数据,尊重每个平台的条款,避免个人数据,且如用例不明确,请咨询律师。

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

最受欢迎的文章

目录