SEO 百科
其他引擎爬虫
本页目录
其他引擎爬虫指的是 Google 之外各家搜索引擎自己的抓取工具。它们做的事情和 Googlebot 类似,但命名、变体和控制方式各成一套。做多引擎优化时,先分辨清楚各家有哪几个爬虫,是判断请求来源的第一步。
Bing 的爬虫家族
| 爬虫 | 用途 |
|---|---|
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
附录
参见
参考资料
官方(境外)
- 《Overview of Bing crawlers (user agents)》,Bing 网站管理员帮助。
- 《How to Verify that Bingbot is Bingbot》,Bing 网站管理员博客。
- 《How to check that a robot belongs to Yandex》,Yandex 网站管理员文档。
- 《About Applebot》,Apple 支持。
- 《Is DuckDuckBot related to DuckDuckGo?》,DuckDuckGo 帮助。
- 《Brave Search Crawler》,Brave Search 帮助。
- 《FeedFetcher-Mojeek》,Mojeek 帮助。
- 《Overview of OpenAI Crawlers》,OpenAI 平台文档。
- 《Frequently Asked Questions》,Common Crawl。
外部链接
无。