有一种隐藏的,无情的力量渗透到网络及其数十亿的网页和文件中,我们大多数众生都不知道。我说的是搜索引擎爬虫和机器人。每天都有数以百计的人出去浏览网络,不管是谷歌(Google)试图为整个网络建立索引,还是一个垃圾邮件机器人收集它能找到的任何不那么体面的电子邮件地址。作为站点所有者,当机器人访问我们的站点时,我们对机器人可以做什么有多么小的控制,存在于一个名为“robots.txt”的神奇的小文件中。
“robots.txt”是一个普通的文本文件,通过它的名称,对大多数网络上的“光荣”机器人具有特殊的意义。通过在此文本文件中定义一些规则,您可以指示机器人不爬行和索引站点中的某些文件、目录,或者根本不对其进行索引。例如,您可能不希望Google爬行站点的/映像目录,因为它对您来说既没有意义,也浪费了站点的带宽。“robots.txt”让你告诉谷歌。
创建“robots.txt”文件
所以让我们开始行动吧。创建一个名为“robots.txt”的常规文本文件,并确保它的名称准确。此文件必须上载到根部可访问的站点目录,而不是子目录(即:https://www.google.com但不是https://www.google.com/2/)只有遵循上述两条规则,搜索引擎才能解释文件中的指令。偏离这一点,“robots.txt”就变成了一个普通的文本文件,就像午夜后的灰姑娘一样。
现在您已经知道了如何命名您的文本文件并将其上传到何处,您需要了解如何将命令发送到遵循该协议的搜索引擎(正式上是“机器人排除协议”)。该格式对于大多数意图和目的来说都足够简单:USERAGENT行,以识别问题中的爬行器,后面跟着一个或多个爬虫。不允许:线不允许它从你的网站的某些部分爬行。
1)下面是一个基本的“robots.txt”:
User-agent: *
Disallow: /
在上述声明之后,所有机器人(由“*”表示)都被指示不要索引任何页面(由“/”表示)。很可能不是你想要的,但你知道。
2)现在让我们再来点歧视吧。虽然每个网站管理员都喜欢Google,但您可能不希望Google的Imagebot爬行您的站点的图像并制作它们。可在线搜索如果只是为了节省带宽。下面的声明将起作用:
User-agent: Googlebot-Image
Disallow: /
3)以下内容禁止所有搜索引擎和机器人爬行选择目录和页面:
User-agent: *
Disallow: /cgi-bin/
Disallow: /privatedir/
Disallow: /tutorials/blank.htm
4)您可以在“robots.txt”中有条件地针对多个机器人。请看下面的内容:
User-agent: *
Disallow: /
User-agent: Googlebot
Disallow: /cgi-bin/
Disallow: /privatedir/
这是很有趣的-在这里我们声明爬虫一般不应该爬行我们网站的任何部分,除对于google,它允许爬行整个站点,而不是/CGI-bin/和/Privatedir/。因此,专一性的规则是适用的,而不是继承的。
5)有一种使用“不允许”的方法:本质上将其转换为“允许所有”,即在分号(:)之后不输入一个值:
User-agent: *
Disallow: /
User-agent: ia_archiver
Disallow:
这里我是说,所有爬虫都应该被禁止爬行我们的网站,除了阿列克莎,这是允许的。
6)最后,一些爬虫现在支持一个名为“允许:”的额外字段,最值得注意的是,Google。顾名思义,“允许:”允许您显式地规定哪些文件/文件夹可以爬行。然而,这个领域目前并不是“robots.txt”协议的一部分,所以我建议只在绝对需要时才使用它,因为它可能会混淆一些不那么聪明的爬虫器。
每谷歌网站管理员常见问题,下面是不允许所有爬虫从您的站点上爬行的首选方法。除谷歌:
User-agent: *
Disallow: /
User-agent: Googlebot
Allow: /