是否存在一个转发Web代理,检查并遵守远程域名robots.txt?

是否存在一个转发代理服务器,它将查找并遵守远程互联网域上的robots.txt文件,并代表请求者通过代理执行它们?

例如,想象一下www.example.com上的一个网站,该网站上有一个robots.txt文件,用于限制某些url,并将爬网延迟应用于其他网站。

然后,多个自动客户端(例如爬虫,刮板)可以通过代理访问www.example.com网站,而不违反robots.txt指令,而无需自己访问文件(=>更简单的客户端和更less的请求获取robots.txt

(具体来说,我在看“规范”的“GYM2008”版本 – http://nikitathespider.com/python/rerp/#gym2008 – 因为它被广泛使用)

我不确定为什么强制遵守robots.txt是代理的工作: 抓取 (机器人)应该拉动robots.txt并按照该文件中包含的说明,只要代理返回正确robots.txt数据和抓取工具正确地处理这些数据,只要抓取工具支持使用代理,您就可以在不需要工作的情况下获得代理的所有优势。

**

也就是说,我不知道有什么代理可以做你想要的东西(从网站parsingrobots.txt,只返回那个文件允许的东西 – 大概是为了控制一个爬虫,尊重robots.txt ?)。 编写一个处理这个代理的代理需要对代理收到的每个请求进行一次user-agent-to-robots.txt映射/检查,这当然是可能的(你可以在Squid中完成,但是你需要一起脚本将robots.txt转换为squidconfiguration规则,并定期更新数据),但是无疑会成为代理的效率。
修复爬虫是更好的解决scheme(它也避免了代理发送到爬虫的“陈旧”数据。请注意,一个好的爬虫机器人将检查HTTP头中的更新时间,如果它们已经改变,只抓取页面。 )