SEO 百科

其他引擎爬虫

本页目录

其他引擎爬虫指的是 Google 之外各家搜索引擎自己的抓取工具。它们做的事情和 Googlebot 类似,但命名、变体和控制方式各成一套。做多引擎优化时,先分辨清楚各家有哪几个爬虫,是判断请求来源的第一步。

Bing 的爬虫家族

以 Bing 为例,它目前运行几个主要爬虫[1]。

爬虫 用途
Bingbot 标准爬虫,承担每天大部分的抓取,而且使用的用户代理字符串不止一种
AdIdxBot 供 Bing Ads 使用,用来做质量控制,它会抓取广告并跟进广告所指的网站
BingPreview、MicrosoftPreview 负责生成页面快照
BingVideoPreview 专门为 Bing 提供视频预览

这些爬虫大多有桌面版和移动版两种变体[1]。所以同一个爬虫,在日志里可能呈现出不同的用户代理字符串。

有一点和 Google 不同:Bing 会定期把网页渲染引擎更新到最新的 Microsoft Edge 稳定版本,因此用户代理里的版本号会随之变化[1]。

Yandex 的爬虫家族

Yandex 的爬虫分得更细[3]。

爬虫 用途
YandexBot 主爬虫,负责把页面收进数据库
YandexImages 索引图片
YandexVideo 索引视频
YandexMedia 索引多媒体
YandexMarket 抓取商品

这些爬虫对 robots.txt 的态度并不一致。官方表格给每一条都标了是否遵守通用规则,其中有相当一部分并不遵守,例如负责截图和部分服务的爬虫[3]。遇到这类请求,只按 User-agent: * 无法阻止它,得写针对它的规则[3]。官方还专门提示,如果某个爬虫下载了主爬虫取不到的文档,这篇文档不会被收录[3]。

其他搜索引擎的爬虫

Apple 的爬虫是 Applebot,抓到的数据用于 Spotlight、Siri 和 Safari 等产品[4]。Applebot 另有一个 Applebot-Extended,用来让网站声明内容是否可用于训练 Apple 的基础模型,后者本身并不抓取网页[4]。Applebot 不遵守 crawl-delay,并且在 robots.txt 未提到它时会跟随 Googlebot 的规则[4]。

DuckDuckGo 的爬虫叫 DuckDuckBot,职责是持续改进搜索结果[5]。Brave 的爬虫不做区分化的用户代理,原因是不想被只允许 Google 抓取的网站挡在外面;只要一个域名或页面不允许 Googlebot 抓取,Brave 的爬虫也不会抓[6]。Mojeek 另有一个 FeedFetcher,专门抓 RSS 与 Atom 订阅源,供它的新闻搜索使用[7]。

AI 与归档爬虫

除搜索引擎,做 AI 与数据归档的机构也有自己的爬虫,这些爬虫常出现在同一批日志里。

爬虫 说明
OAI-SearchBot、GPTBot 分别对应搜索结果和模型训练两种用途,站主可以分别放行或拒绝,两个设置互不影响[8]
CCBot 基于 Nutch 与 Hadoop 构建,遵守 robots.txt,也遵守 Crawl-delay,站主还可以登记到它的退出名单[9]

身份核实

用户代理字符串很容易被伪造,带着这些字符串的请求未必真的来自某家引擎。所以只按用户代理分发规则并不稳妥,核实来源要多做一步。

通用办法是反查域名。

  • Yandex 的机器人主机名以 yandex.ru、yandex.net 或 yandex.com 结尾,先做反向域名解析,再对解析结果做一次正向解析,两个地址对得上才算真的[3]。
  • Mojeek 的做法类似,要求结果落在 mojeek.com 域名内[7]。
  • Apple 也用反向域名,主机名落在 applebot.apple.com 之下[4]。
  • Bing 则提供了官方的验证工具[2]。

抓取控制

控制抓取有两条路。一条是用 robots.txt 说明希望怎么被抓,另一条是通过网站管理员工具按小时调整抓取速率[1]。

不同爬虫对这两条路的接受程度不一样。

  • 有的专用爬虫会忽略 robots.txt 里的通用规则,只能依赖针对性的条目限制[3]。
  • Applebot 不接受 crawl-delay[4]。
  • CCBot 则同时支持 robots.txt 与 Crawl-delay[9]。

所以要限速或者屏蔽,得先查清这个用户代理认哪一套规则。

针对单个用户代理写一组规则,就能只限住它。下面给 YandexBot 屏蔽一个目录,给 CCBot 设一个抓取间隔:

User-agent: YandexBot
Disallow: /internal/

User-agent: CCBot
Crawl-delay: 10

附录

参见

参考资料

官方(境外)

  1. 《Overview of Bing crawlers (user agents)》,Bing 网站管理员帮助。
  2. 《How to Verify that Bingbot is Bingbot》,Bing 网站管理员博客。
  3. 《How to check that a robot belongs to Yandex》,Yandex 网站管理员文档。
  4. 《About Applebot》,Apple 支持。
  5. 《Is DuckDuckBot related to DuckDuckGo?》,DuckDuckGo 帮助。
  6. 《Brave Search Crawler》,Brave Search 帮助。
  7. 《FeedFetcher-Mojeek》,Mojeek 帮助。
  8. 《Overview of OpenAI Crawlers》,OpenAI 平台文档。
  9. 《Frequently Asked Questions》,Common Crawl。

外部链接

无。