官网建设指南-实战谋攻之道,《企业官方网站建设思维及流程详解白皮书》立即免费获取!

[每天一点新知识] robots.txt详解

51 浏览作者:杰哥2024-11-08 13:11:03
robots.txt是一个协议,我们可以把它理解为一个网站的"管家",它会告诉搜索引擎哪些页面可以访问,哪些页面不能访问。也可以规定哪些搜索引擎可以访问我们的网站而哪些搜索引擎不能爬取我们网站的信息等等,是网站管理者指定的"君子协议"。

什么是robots.txt?

首先,我们先来了解一下什么是robots.txt?robots.txt是一个协议,我们可以把它理解为一个网站的"管家",它会告诉搜索引擎哪些页面可以访问,哪些页面不能访问。也可以规定哪些搜索引擎可以访问我们的网站而哪些搜索引擎不能爬取我们网站的信息等等,是网站管理者指定的"君子协议"。

当一个搜索机器人(有的叫搜索蜘蛛)访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,那么搜索机器人就沿着链接抓取。

另外,robots.txt必须放置在一个站点的根目录下,而且文件名必须全部小写。

如何查看robots.txt? 

在浏览器的网址搜索栏中,输入网站的根域名,然后再输入/robot.txt即可查看。比如,百度的robots.txt网址为 https://www.baidu.com/robots.txt

robots.txt的内容

User-agent: //搜索机器人的名称

Disallow: //不允许搜索机器人访问的地址

Allow: //允许搜索机器人访问的地址

若User-agent是*,则表示允许所有的搜索机器人访问该站点下的所有文件。在"robots.txt"文件中,"User-agent:*"这样的记录只能有一条。

Disallow和Allow后面跟的是地址,这个URL可以是一条完整的路径,也可以是部分的,地址的描述格式符合正则表达式(regex)的规则。因此可以在python中使用正则表达式来筛选出可以访问的地址。需要特别注意的是Disallow与Allow行的顺序是有意义的,robot会根据第一个匹配成功的Allow或Disallow行确定是否访问某个URL。

下列内容代表 禁止所有搜索引擎访问网站的任何部分

User-agent: *
Disallow: /

常见的搜索引擎的蜘蛛名称

搜索引擎 类型 User-agent
Baidu General baiduspider
Baidu Images baiduspider image
Baidu Mobile baiduspider-mobile
Baidu News baiduspider-news
Baidu Video baiduspider-video
Bing General bingbot
Bing General msnbot
Bing lmages & Video msnbot-media
Bing Ads adidxbot
Google General Googlebot
Google Images Googlebot-Image
Google Mobile Googlebot-Mobi1e
Google News Googlebot-News
Google Video Googlebot-video
Google AdSense Mediapartners-Google
Google AdWords AdsBot-Google
Yahoo! General slurp
Yahoo! General yandex

如何创建并上传robots.txt文件?

(1) 用记事本或者其他文本型的软件(如Sublime Text、HBuilder X…)创建一个名为robots.txt的文件,注意名字不能改,也不能大写,必须全小写。

(2) 用记事本编辑该文件,输入指令规则

例如:

User-agent: *

Disallow: /cgi-bin/

Disallow: /tmp/

Disallow: /~name/

(3) 上传文件至网站根目录。由于网站建站系统不同、服务器架构不同,上传文件的方法没有统一的,譬如可以借助主机的管理面板,又或是用FTP,在连通到网站所在的文件目录后,将robots.txt放在网站所在文件夹第一层中(也就是根目录,必须位于根目录中,否则无效)。当成功上传后,通常在浏览器中访问域名/robots.txt就可以查看到文件。

如果网站信息都需要被抓取,是不是可以不用robots.txt了?

每当用户试图访问某个不存在的URL时,服务器都会在日志中记录404错误(无法找到文件)。每当搜索蜘蛛来寻找并不存在的robots.txt文件时,服务器也将在日志中记录一条404错误,所以建议还是添加一个robots.txt。

为什么叫"君子协议 "

本身robots.txt就只是一个约定,一个协议,是道德约束,一般的搜索引擎爬虫都会遵守这个协议的,否则在这个行业还怎么混下去。而且robots.txt一般也是站点为了更好被搜索引擎收录所准备的。真正的封禁不可能靠user-agent来封禁。

- END -
【免责声明】:本网站部分图文来源或改编自互联网,主要目的在于信息分享,让更多人获取所需阅读,版权归原作者所有,如侵犯到您的权益或版权请及时告诉我们,我们将在24小时内删除!twj124#foxmail.com “#”换成“@”
赞赏
分享
客服 报价