关于 MagiBot 抓取程序

2019-04-01

English Version

MagiBot

MagiBot(软件项目名 Matarael,下称 MagiBot)是 Magi 的网页抓取工具(亦被称为“蜘蛛程序”)。抓取指的是 MagiBot 提取新网页内容和更新网页内容并索引的过程。

我们(以下的“我们”可能指代 MagiBot、Magi 项目的其他软件或者 Peak Labs Limited 本身)会使用大量的计算机来进行前述“抓取”过程,在这个过程中 MagiBot 将按照一定算法工作,决定要抓取的网站、抓取频率、抓取顺序等特征。

限制或禁止 MagiBot 抓取您网站上的内容

如果您希望限制或者禁止 MagiBot 抓取您网站上的内容,除了使用一些系统方法拒绝网页抓取工具的访问与抓取之外,您可以设置 robots 规则 来指导 MagiBot 的抓取。

MagiBot 会严格遵守 robots 排除协议以及类似变体,包括但不限于 robots.txtx-robots-tagsrel 等标注方法。在解析您的规则组时,MagiBot 会优先遵守 magibotmatarael 这两个 User-Agent 下的规则(不区分大小写)。

MagiBot 亦支持通过如 noindexnofollownosnippetnoarchive 等元标记来限制索引和搜索展示。

在极少数特殊情况下,MagiBot 可能会对被包括在您 disallow 列表下的路径发起请求,但这些信息将不会被使用或索引。一些其他的搜索引擎有时会利用 anchor 等信息,对特定被禁止抓取的路径(如首页),生成和 nosnippet 等同效果的展现,但我们会慎重处理这种灰色地带的行为。

MagiBot 会根据自己的抓取计划,权衡 Keep-Alive 行为。您如果在服务器日志中看到 socket 的 abort 或 reset 等记录,这是一般是 MagiBot 的主动断开连接产生的,而非您的服务器问题。例如,为了减少双方的带宽和资源占用,我们在网络传输的同时会进行流式解析,当找到如 JPEG 图片的 SOF 等信息时,如果尺寸不满足一定标准的话,可能会立即结束这次请求。

MagiBot 支持的协议与标准

MagiBot 支持并遵守绝大多数现存的协议和标准。它提供对 IDN(例如中文域名)、IPv6SLD 等技术标准的完整支持。对于结构化数据的标注,MagiBot 支持以 JSON-LDMicrodataRDF/RDFa 形式标注的 schema.orgFacebook OGP 词汇,以及它们的多种变体。我们具备从纯文本中抽取并学习结构化知识和概念的能力,但仍建议网站管理者对明确信息和实体使用结构化数据标注,以优化在各搜索引擎和社交网络中的展示效果。

MagiBot 对智能手机应用内容的抓取

MagiBot 具有主动抓取手机 App 的内容的能力。作为一项全新的技术,我们将在不违反相关用户协议的前提下,以自律的方式进行抓取。您可以按照以下任一方式阻止我们模拟用户进行交互和内容抓取:

  1. manifest 中声明 robots: 'noindex'
  2. 在 API 响应的 headers 中声明 x-robots-tag = 'noindex'