如何禁止 GPTBot

Last Modified: 2023/08/08

概述

OpenAI 的 GPTBot 网络爬虫会在网络上爬取 AI 大模型训练所需要的内容。如果不希望被爬取,可以使用 OpenAI 提供的禁止该爬虫的方法,本文将会重点讲述该方法。 根据 OpenAI 的说法,GPTBot 获取的内容可以用于改进未来的 AI 模型,这些内容有助于使他们的 AI 模型更准确、更强大和更安全。然而某些网站内容网站可能因此遭受损失,典型的受害者之一便是 Stack Overflow。

GPTBot 标识

GPTBot 爬虫在访问的时候,使用的用户代理标识如下:

User agent token: GPTBot
Full user-agent string: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.0; +https://openai.com/gptbot)

本网站就时常被 GPTBot 光顾,它(小小爬虫可笑可笑)在 Nginx 中留下的访问足迹如下:

85198:40.83.2.69 - - [05/Aug/2023:08:29:30 +0800] "GET /xtools-guide/posts HTTP/1.1" 200 4089 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.0; +https://openai.com/gptbot)"

禁止 GPTBot

想要禁止 GPTBot 访问我们的网站,可以在 robots.txt 加入以下内容:

User-agent: GPTBot
Disallow: /

经过这样的配置之后,GPTBot 就与你的网站无缘了,但是我们可能只想授权或者禁止 GPTBot 访问部分内容,配置方法如下:

User-agent: GPTBot
Allow: /directory-1/
Disallow: /directory-2/

这里允许 GPTBot 访问 /directory-1/,但是禁止它访问 /directory-2/

屏蔽 GPTBot 的 IP

上面通过 robots 协议禁止 GPTBot,还可以做的更绝一点,将 GPTBot 的 IP 全部给屏蔽了。不的不说这点 OpenAi 还是相当 open 的,他们提供了 GPTBot 使用的 ip 段,只需要将下面这些 ip 全给屏蔽就完事了。

20.15.240.64/28
20.15.240.80/28
20.15.240.96/28
20.15.240.176/28
20.15.241.0/28
20.15.242.128/28
20.15.242.144/28
20.15.242.192/28
40.83.2.64/28

也可以去这个网址下查看 GPTBot 使用的 ip 是否有更新:gptbot-ranges.txt

是否应该禁止 GPTBot 呢?

关于是否应该禁止 AI 爬虫抓取网站内容也是有争议的,如果大家有兴趣可参考这篇文章

有问题吗?点此反馈!

温馨提示:反馈需要登录