Meta 网络爬虫

Meta 出于多种目的使用了网页爬虫(从网站或网页应用获取内容的软件)。本页列出了多个用户代理 (UA) 字符串,用于识别 Meta 最常见的网络爬虫以及每个爬虫的用途。

我们通过使用 robots.txt 等行业标准实践(而非 NoAI 标签等非标准格式),让网站管理员和内容所有者轻松表明他们的偏好。本页还针对如何配置您的 robots.txt 文件提供了指导,以便我们的爬虫与您的网站进行正确的互动。

FacebookExternalHit

FacebookExternalHit 的主要目的是抓取在 Meta 旗下应用之一(例如 Facebook、Instagram 或 Messenger)中所分享的某个应用或网站的内容。所用链接可能是通过复制和粘贴或通过使用 Facebook 社交插件分享而来。此网络爬虫会收集、缓存和显示该应用或网站的相关信息,如名称、描述和缩略图等。

您将在日志文件中看到特定的 UA 字符串,类似于以下字符串之一:

  • facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)
  • facebookexternalhit/1.1

请注意,FacebookExternalHit 爬虫在执行安全或诚信检查(例如检查是否存在恶意软件或恶意内容)时,可能会绕过 robots.txt 文件。

网络爬虫要求

  • 您的服务器必须使用 gzipdeflate 编码。
  • 需要在爬取网站或应用的前 1 MB 内容之前列出任何开放图谱属性,否则爬取操作将会中断。
  • 确保网络爬虫可以在几秒内爬取内容,否则 Facebook 将无法显示相关内容。
  • 您的应用或网站应根据网络爬虫请求 Range 标头中的指定字节,生成并返回带有所有必要属性的响应,或应一并忽略 Range 标头。
  • 将网络爬虫使用的用户代理字符串或 IP 地址(更为安全)添加到白名单中。

疑难解答

如果应用或网站内容在爬取时不可用,您可以在内容可用时,通过在分享调试器工具中传递网址或使用共享 API 来强制爬取。

您可使用以下代码模拟网络爬虫请求:

curl -v --compressed -H "Range: bytes=0-524288" -H "Connection: close" -A "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)" "$URL"

Meta-WebIndexer

Meta-WebIndexer 网络爬虫将导航网络以改善用户的 Meta AI 搜索结果质量。执行此操作时,Meta 会分析在线内容以增强 Meta AI 的相关性和准确性。在您的 robots.txt 文件中允许 Meta-WebIndexer,有助于我们引用和链接到您的 Meta AI 响应中的内容。

您将在日志文件中看到特定的 UA 字符串,类似于以下字符串之一:

  • meta-webindexer/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)
  • meta-webindexer/1.1

Meta-ExternalAds

Meta-ExternalAds 爬虫会抓取网页,用于各种用例,例如改善广告和其他与业务相关的产品和服务。

您将在日志文件中看到特定的 UA 字符串,类似于以下字符串之一:

  • meta-externalads/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)
  • meta-externalads/1.1

Meta-ExternalAgent

Meta-ExternalAgent 爬虫会抓取网页,用于各种用例,例如训练基础 AI 模型或通过将内容直接编入索引来改进产品。

您将在日志文件中看到特定的 UA 字符串,类似于以下字符串之一:

  • meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)
  • meta-externalagent/1.1

Meta-ExternalFetcher

Meta-ExternalFetcher 爬虫会根据用户请求抓取单个链接,并为评估与改进智能体 AI 功能等产品功能提供支持,包括协助 AI 浏览网站并代用户完成任务。因此,该爬虫可绕过 robots.txt 规则。

您将在日志文件中看到特定的 UA 字符串,类似于以下字符串之一:

  • meta-externalfetcher/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)
  • meta-externalfetcher/1.1

robots.txt 文件

通过在您的网站上配置 robots.txt 文件,您可以向 Meta 网络爬虫指示您希望其如何与您的网站进行互动。如要屏蔽这些爬虫,可在 robots.txt 中为相关爬虫添加“Disallow”指令。Meta-ExternalFetcher 爬虫可以绕过 robots.txt,因为该爬虫执行的是用户请求的获取操作。此外,FacebookExternalHit 爬虫在执行安全或诚信检查时,可能会绕过 robots.txt。

User-agent: meta-externalagent
Allow: /                    # Allow everything
Disallow: /private/         # Disallow a specific directory

robots.txt 的更改最多需要 24 小时才能生效,因为爬虫可能会将 robots.txt 的内容最多缓存 24 小时。

爬虫 IP

如果爬虫具有的一个源 IP 地址列于以下命令生成的清单上,这表示该爬虫来自 Meta。

whois -h whois.radb.net -- '-i origin AS32934' | grep ^route  

请注意,这些 IP 地址经常发生更改。详情请访问我们的对等互联网页或相关的可下载数据(CSV 格式)。

响应示例

...
route:      69.63.176.0/21
route:      69.63.184.0/21
route:      66.220.144.0/20
route:      69.63.176.0/20
route6:     2620:0:1c00::/40
route6:     2a03:2880::/32
route6:     2a03:2880:fffe::/48
route6:     2a03:2880:ffff::/48
route6:     2620:0:1cff::/48
... 

联系我们

如果您有问题或疑虑,请通过 webmasters@meta.com(Meta 网站站长)联系我们。