AI 爬虫 · DuckDuckGo DuckAssistBot:DuckDuckGo 的 AI 回答爬虫
DuckAssistBot 为 DuckDuckGo 的 AI 辅助回答实时抓取网页。下面是 DuckDuckGo 公开的信息,每条链到出处,规则可以直接复制。
- 搜索 / AI 回答
- 遵守 robots.txt
- 有官方 IP 列表
DuckAssistBot 一览
DuckDuckGo官方公开的 DuckAssistBot 信息,每条都链到出处。需要哪条 robots.txt 规则直接复制;日志里的 IP 是不是真的 DuckAssistBot,也能在这里核对。
运营方对 DuckAssistBot 的说明
每一行都链到出处。「未公开」表示在运营方自己的文档里找不到。
| 项目 | 内容 | 出处 |
|---|---|---|
| 运营方 | DuckDuckGo | 出处 |
| 官方说明 | duckduckgo.com | 出处 |
| robots.txt 标记 | DuckAssistBot | 出处 |
| 用途 | 搜索 / AI 回答DuckDuckGo 说 DuckAssistBot 实时抓取网页,用于带来源引用的 AI 辅助回答。 | 出处 |
| 遵守 robots.txt | 是DuckDuckGo 说在 robots.txt 里禁止 DuckAssistBot,即可不作为 AI 辅助回答的来源,72 小时后生效。 | 出处 |
| 官方 IP 列表 | duckduckgo.com/duckassistbot.json | 出处 |
| 验证方法 | IP 列表DuckDuckGo 在 duckassistbot.json 公布 DuckAssistBot 的 IP 地址,用来源 IP 对照即可;没有给出反查 DNS 的方法。 | 出处 |
| 核对日期 | — |
DuckAssistBot/1.2; (+http://duckduckgo.com/duckassistbot.html)运营方公布的原文。
robots.txt 规则
把其中一组加到 robots.txt 末尾。标记不区分大小写。
User-agent: DuckAssistBot
Disallow: /User-agent: DuckAssistBot
Allow: /点名 DuckAssistBot 的组会替代 User-agent: * 对它的规则。只想拦一个目录,把 / 换成目录,如 Disallow: /private/。
核对请求是不是真的 DuckAssistBot
用官方列表核对 IP
打开 duckduckgo.com/duckassistbot.json,全选复制,连同日志里的 IP 一起粘贴到下面。核对在浏览器里完成。
JSON 或每行一个网段,IPv4 和 IPv6 都能识别。
粘贴一个 IP 地址开始核对。
版本 v1.0更新于 更新记录
决定怎么处理,看这四项
每个爬虫单页都是同一张表,这四行回答了大部分问题。
用途
训练、搜索,还是替用户访问。屏蔽训练爬虫,你的页面不进后续模型;屏蔽搜索爬虫,连带失去会链回你的 AI 回答。
遵守 robots.txt
「是」是运营方自己的说法。「部分」通常指用户发起的访问可能不看 robots.txt——ChatGPT-User、Perplexity-User、meta-externalfetcher 的运营方都这么说。
官方 IP 列表 / 反查 DNS
分辨真爬虫和冒充者的唯一办法。两者都没公布,UA 就只是自称。
未公开
在运营方自己的文档里找不到。我们不拿第三方列表补空——那些列表互相矛盾,也经常过时。
事实按各单页标注的日期与运营方页面核对过。运营方会改文档,以出处链接为准。
从日志里的名字到一条规则
四步,都在浏览器里完成。
-
1
找到爬虫
输入日志里看到的名字,或你想查的公司。按用途筛选,比如只看 AI 训练类。
-
2
打开单页
看运营方说它拿来做什么、是否遵守 robots.txt;复制官方 UA,和宝塔、Nginx 日志里的对照。
-
3
生成规则
在表格里勾选,选屏蔽或放行,复制或下载 robots.txt 规则组。
-
4
检查效果
用 robots.txt 测试工具测一遍;在单页上用官方 IP 列表核对请求真假。
爬虫怎么分组,robots.txt 怎么生效
目录按 TapCub 机器人规则分组。robots.txt 按 RFC 9309 匹配:爬虫只执行 User-agent 与自己标记匹配的那一组,没有这一组才退回 *。
- 有自己一组的爬虫,完全不看
User-agent: *里的规则 - 标记不区分大小写;拼错就什么也匹配不上
- 有些名字只是标记——Google-Extended、Applebot-Extended 从不来访
- 没有公开标记的代理,robots.txt 根本管不到
| 分组 | 做什么 | 屏蔽后 |
|---|---|---|
| AI 训练 | 为模型训练或数据集收集网页 | 只要它遵守 robots.txt,你今后的页面就不进这家的训练 |
| AI 答案引擎 | 为带链接的 AI 回答建索引 | 不再作为来源被引用 |
| AI Agent | 替用户打开页面 | 助手打不开你的页面——前提是它看 robots.txt |
| 搜索引擎 | 传统搜索索引 | 从这个搜索引擎消失;必应等也为 AI 回答供数 |
四份 robots.txt 对 DuckAssistBot 的效果
DuckAssistBot 只看 User-agent 与 DuckAssistBot 匹配的那一组(不区分大小写);没有这一组,才退回 User-agent: *。
| robots.txt | DuckAssistBot 的结果 | 原因 |
|---|---|---|
User-agent: DuckAssistBot Disallow: / | 禁止 | 它自己的组禁止了整站。 |
User-agent: * Disallow: / | 禁止 | 没有自己的组,继承通配组。 |
User-agent: * Disallow: / User-agent: DuckAssistBot Allow: / | 允许 | 点名的组完全取代通配组,* 里的规则对它不再生效。 |
User-agent: DuckAssistBot Disallow: /private/ | 除 /private/ 外都允许 | 只有以 /private/ 开头的路径被禁止。 |
以上是按 RFC 9309 读规则的结果;DuckAssistBot 是否照做,以上方事实表里DuckDuckGo的说法为准。
AI 爬虫策略常在哪里出错
多数问题出在标记写法,或者没弄清这个爬虫到底是什么。
把公司名当标记
「OpenAI」「字节跳动」「ChatGPT」都不是标记。用目录里的准确写法——GPTBot、Bytespider、OAI-SearchBot。
连搜索爬虫一起拦
屏蔽 OAI-SearchBot、PerplexityBot 会失去能链回你的 AI 回答。按爬虫决定,不要按公司一刀切。
轻信 UA
谁都能在请求头里写「GPTBot」。没有核对 IP 或反查 DNS,请求就不算验证过。
封 IP 反而丢了退出声明
Anthropic 和 Cohere 都提醒:封它们的 IP 会让爬虫读不到 robots.txt,退出可能不稳定。
看哪些爬虫真的来过
目录告诉你爬虫自称做什么。TapCub 用五层识别、197+ 条规则把机器人和真人分开,AI 爬虫单独统计。
DuckAssistBot 是什么?
DuckAssistBot 由DuckDuckGo运营。DuckDuckGo 说 DuckAssistBot 实时抓取网页,用于带来源引用的 AI 辅助回答。
DuckAssistBot 遵守 robots.txt 吗?
DuckDuckGo 说在 robots.txt 里禁止 DuckAssistBot,即可不作为 AI 辅助回答的来源,72 小时后生效。
怎么屏蔽 DuckAssistBot?
在 robots.txt 里为它单独写一组:User-agent: DuckAssistBot、Disallow: /。DuckDuckGo说它遵守这些规则。只想拦某个目录,把 / 换成 /目录/。
怎么确认请求真的来自 DuckAssistBot?
DuckDuckGo 在 duckassistbot.json 公布 DuckAssistBot 的 IP 地址,用来源 IP 对照即可;没有给出反查 DNS 的方法。
屏蔽 DuckAssistBot 会让网站从 DuckDuckGo 搜索消失吗?
不会。DuckDuckGo 说退出不影响自然排名和是否出现在搜索结果中,只影响能否作为 AI 辅助回答的来源。
DuckDuckGo 会拿 DuckAssistBot 抓的内容训练 AI 吗?
DuckDuckGo 说这些数据不以任何方式用于训练 AI 模型。