如何控制机器人,蜘蛛和爬虫?

・4 分钟阅读

概述

爬取动态页面的机器人,蜘蛛和其他爬虫可能导致大量的资源(内存和cpu )使用,这可能会导致服务器负载很高,并降低网站的速度。

一种减少蜘蛛和其他爬虫对服务器负载的选择是,在你的网站的root中创建一个"robots.txt"文件,这告诉搜索引擎他们应该和不应该索引您网站上的哪些内容。例如,如果你想要将站点的一部分保存在Google搜索引擎索引中,这很有帮助。

阻止机器人

问题可能是谷歌,雅虎或其他搜索引擎机器人过度浏览您的网站。(这是一种自身存在的问题); 如果机器人由于缺乏资源而且无法完成搜索,它可能会一遍又一遍地启动相同的搜索)。

阻止Googlebots

在下面的示例中,66.249.66.167的IP出现在 access.log,你可以通过运行"host"命令检查该IP属于哪个公司


[server]$ host 66.249.66.167
167.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-167.googlebot.com.


要阻止这个bot,请在robots.txt file:中使用以下,


# go away Googlebot
User-agent: Googlebot
Disallow: /

通过单击以下命令查看有关Google机器人的更多信息:

阻止Yahoo

Yahoo bot的爬行符合 crawl-delay 限制它获取活动的robots.txt中的规则,例如,要告诉雅虎不要每10秒钟取一次页面,你会添加以下内容:


# slow down Yahoo
User-agent: Slurp
Crawl-delay: 10

#减缓Yahoo
USER-AGENT :Slurp
Slurp是Yahoo USER-AGENT名称,你必须用这个来阻止雅虎,
Crawl-delay
通知USER-AGENT在每次请求到服务器之间等待10秒,

通过单击以下命令查看有关Yahoo机器人的更多信息:

减速那些好的机器人

使用以下方法可以减缓一些速度,但是,不是所有都是好机器人:


User-agent: * 
Crawl-Delay: 10

USER-AGENT :*
适用于所有用户代理,
Crawl-delay
通知USER-AGENT在每次请求到服务器之间等待10秒,
  • Googlebot会忽略crawl-delay指令,
  • 要降低google bot的速度,你需要在 WebMaster工具
  • 创建帐户后,你可以设置爬网速率,并且生成一个robots.txt ,

阻止所有的机器人

要禁止所有机器人:


User-agent: *
Disallow: /

要禁止在特定文件夹中使用它们,请执行下列操作:


User-agent: *
Disallow: /yourfolder/

坏机器人可能将此内容用作目标列表。

USER-AGENT :*
适用于所有用User-agents ,
Disallow :/
不允许对所有内容进行索引,
Disallow :/yourfolder/
不允许对此单个文件夹进行索引,

谨慎使用

另外,请注意,那些坏机器人将会忽略你的robots.txt文件,因此你可能想要将它们的USER-AGENT加到.htaccess文件。

错误的机器人可能会将您的robots.txt文件用作目标列表,因此您可能希望跳过robots.txt文件中的列出目录。坏机器人也可能使用虚假或误导性的User-agents,因此使用.htaccess阻止User-agents可能无法正常工作。

如果你不想阻止任何人,这是一个很好的默认robots.txt file:


User-agent: *
Disallow:

190929089 profile image