我应该设置什么用户代理?


18

有Ask机器人,它设置以下标头:

Mozilla/2.0 (compatible; Ask Jeeves/Teoma) 

考虑到这一点,我有以下问题:

  • 如果我正在编写一个名为Goofy的Web爬网程序,应该使用哪个用户代理?
  • 如果我放Mozilla/2.0或,有Mozilla/5.0什么区别?

我们对我应如何格式化用户代理以符合当前标准的任何其他建议都受到欢迎。

Answers:


32

我是一个相当大型的Web爬网程序的主要设计者和作者(请参阅metalabs.com/mlbot(存档链接))。您要问的话题涉及到一个对我们非常重要的话题,也许是运行搜寻器最重要的部分:礼貌。

第一:“ Mozilla”问题的原因是告诉网站您的浏览器功能。如果您的漫游器没有试图像浏览器那样运行,则没有特别的理由需要包含“ Mozilla”。

至于您的用户代理字符串和其他与礼貌相关的项目:

  1. 选择一个您不知道其他人正在使用的名称。我怀疑如果您使用“ Goofybot”,将会很好。但是我会检查一下以确保。

  2. 您的用户代理字符串应包含指向有关该机器人的更多信息的链接。例如,我们的字符串显示为“ MLBot(www.metadatalabs.com/mlbot)”。

  3. 确保如果有人搜索“ Goofybot”,则该页面在搜索结果中居高(最好是第一)。

  4. 关于机器人的页面应说明您正在使用的信息,从中爬网的IP地址,并包括人们可以与您联系的有关机器人问题的方法。

  5. 您应该使用“客户永远是对的”的理念快速回答任何问题或投诉。请记住,如果您的漫游器导致此人抱怨的问题,那么它可能在其他许多人都没有抱怨的站点上引起了问题。他们或者没有看到问题,或者只是在您的IP地址上加了一个阻止。

  6. 您应该内置该工具,以防止您的漫游器访问特定的域名。有些人根本不希望您爬网,也没有访问权限或技术能力来创建robots.txt或.htaccess中的代码块。我们发现此功能使我们可以告诉某人:“对不起,MLBot造成了问题。我们指示它永远不要再次爬网您的网站。” 也许不足为奇,这可以使人们很快平静下来。

  7. 如果您还不尊重robots.txt,请执行此操作。没有什么比忽略robots.txt更快地给您带来不好的声誉了。

哇。那比我预期的持续了更长的时间。在过去的四年中,我犯了我上面提到的所有错误中的每一个,此外还犯了其他错误。但是,我们发现,如果我们对所做的事情持开放态度并进行诚实的沟通(包括在投诉之前发布有关错误的信息),则大多数网站管理员都将我们视为良好的互联网公民。


以上(即例如链路metadatalabs.com/mlbot)只是显示(“正在建设”)....
starbeamrainbowlabs

2
@starbeamrainbowlabs该答案写于2010年。Metadata Labs在2012
Jim Mischel

有没有其他选择呢?
starbeamrainbowlabs

@starbeamrainbowlabs替代什么?
吉姆·米歇尔

显示到该“元数据实验室”页面上链接到的任何内容。如我所见,我不能建议其他方法:P
starbeamrainbowlabs

8

Mozilla / 2.0和Mozilla / 5.0都是对Mozilla浏览器的引用。它已变得毫无意义,有许多搜寻器都在使用它,但应告知该网站对待您的搜寻器,就如同任何使用常规浏览器进行浏览的随机用户一样。

但是,在下一节中,最好包含一个URL,该URL链接到有关您是谁以及您为何进行爬网的页面。Ask Jeeves可以仅使用名称即可,但是您应该包括一个URL。

例如

Mozilla/5.0 (compatible; http://example.org/)

这将使网络管理员可以找出您为什么要对其网站进行爬网,如果爬网程序的行为存在问题,还可以与您联系。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.