电 话:0
手 机:0
联系人:刘先生
E_mail:2074917417@qq.com
地 址:成都市金牛区
robots.txt文件的作用及写法(史上最详细版本)
robots文件也会被称做robots协议、爬虫协议等,它是搜索引擎与网站的一个协议文件,网站通过robots协议文件告诉搜索引擎爬虫哪些页面可以抓取,哪些页面不可以抓取。
robots文件是一个txt文本文档文件,这个文件的正确命名为robots.txt,编辑好该文件后,需要放置于网站的根目录下,也就是可以通过www.huicuiwang.cn/robots.txt能够正常的访问即可。
在介绍如何写robots文件之前,我们先来看一个robots文件,如下:
#robots文件示例
#百度爬虫抓取协议
User-agent: Baiduspider
Disallow: /help
Disallow: /trends/*/h*/
Disallow: /msh/msc0p1.html
Disallow: /plc0p1.html
Disallow: /*?*
Disallow: /job/t*
Disallow: /*.png$
Allow: /youqiseol
#对于其他所有搜索引擎爬虫的抓取协议
User-Agent: *
Allow: /sitemap.xml
我们可以通过上面的示例看到,中间有很多的标签,和“#”“*”“$”符号的使用,下面我们对这些一一说明:
符号“#”,代表的是注释内容,通俗来说,就是你写这个robots文件之后,给自己备注的一个提醒,它对搜索引擎爬行起不到任何作用,只是给你自己看的。同样对搜索引擎爬虫也没有任何的影响。
该项的值用于描述搜索引擎robot的名字。在“robots.txt”文件中,如果有多条User-agent记录说明有多个robot会受到“robots.txt”的限制,对该文件来说,至少要有一条User-agent记录。如果该项的值设为*,则对任何搜索引擎爬虫均有效,在“robots.txt”文件中,“User-agent:*”这样的记录只能有一条。如果在“robots.txt”文件中,加入“User-agent:Baiduspider”和若干Disallow、Allow行,那么名为“Baiduspider”的爬虫就会受到相应协议的限制。
该项的值用于描述不希望被搜索引擎爬虫抓取的一类URL,这个值可以是一条完整的路径,也可以是路径的非空前缀,以Disallow项的值开头的URL不会被搜索引擎爬虫抓取。例如“Disallow:/help”禁止robot访问/help.html、/helpabc.html、/help/index.html,而“Disallow:/help/”则允许robot访问/help.html、/helpabc.html,不能访问/help/。“Disallow:”后面什么都没有写,那么说明允许爬虫抓取该网站的所有url,在“/robots.txt”文件中,至少要有一条Disallow记录。如果“/robots.txt”不存在或者为空文件,则对于所有的搜索引擎robot,该网站都是开放的。
该项的值用于描述希望被搜索引擎爬虫抓取的一类URL,与Disallow项相似,这个值可以是一条完整的路径,也可以是路径的前缀,以Allow项的值开头的URL是允许robot访问的。例如“Allow:/jxbh”允许搜索引擎爬虫抓取/jxbh.htm、/jxbh.html、/jxbh/com.html。一个网站的所有URL默认是Allow的,所以Allow通常与Disallow搭配使用,实现允许访问一部分网页同时禁止访问其他所有URL的功能。
“*”匹配0个或多个任意字符
“$”匹配行结束符
如上面的示例,“Disallow:/*?*”不允许搜索引擎爬虫抓取所有URL中带“?”号的,“Disallow:/*.png$”不允许搜索引擎爬虫抓取所有以.png结尾的链接,如https://www.huicuiwang.cn/1.png是不允许被抓取的,但是https://www.huicuiwang.cn/2.pngs就会被抓取(当然,png是图片格式,实际中并没pngs这种格式,这里只是为了方便说明演示)。
robots文件的作用在本文开始我们有提到这里在详细的说一下,首先它是搜索引擎与网站之间的一个协议文件,用来告诉搜索引擎爬虫哪些页面可以抓取,哪些页面不可以抓取。
但是实际工作中,我发现我有遇到这种情况,例如A目录在一直以来都是允许搜索引擎爬虫抓取的,并且也有了很大的索引数据,但是这个目录实际上是不允许被搜索引擎爬虫抓取的,于是我就设置了“Disallow:/a”,禁止了搜索引擎抓取A目录,几天之后发现,索引数据也已经清零了。
所以robots协议文件不仅能够屏蔽搜索引擎爬虫的抓取,也可以把已经收录索引的无效数据进行快速的删除。
禁止所有爬虫抓取所有内容
User-agent:*
Disallow: /
User-agent说明的所有搜索引擎爬虫,而Disallow是告知搜索引擎爬虫从根目录你就不能抓取,最开始只有一个“/”代表根,通俗点解释一下:www.huicuiwang.cn/abc/1.html,其中/就是根,而abc就是一个目录,1.html是一个文章页。
只允许百度爬虫抓取
User-agent: Baiduspider
Allow: /
User-agent: *
Disallow: /
第一组声明Baiduspider(百度爬虫的User-agent),允许抓取所有;而第二组声明所有爬虫,不允许抓取所有。有人可能会疑惑,这两组是否冲突?实际上不会的,通俗点说就是:百度你来抓取,其他人别来!简单明了。
如果你想只让百度和Google来抓取,在不允许之前再加上一组即可,如下:
User-agent: Baiduspider
Allow: /
User-agent: Googlebot #google爬虫的user-agent名称
Allow: /
User-agent: *
Disallow: /
对所有搜索引擎的限制
User-Agent: *
Allow: /sitemap.xml #允许搜索引擎抓取sitemap.xml文件,但不建议把sitemap.xml文件写到robots里。
Disallow: /help #不允许抓取 help下所有
Disallow: /
abc/*/d*/ #不允许抓取 abc/{任意内容}/d{任意内容}/,但可以抓取abc/{任意内容}/d{任意内容}/123.html等;
Disallow: /qwe/qwe1.html #不允许抓取该网页
Disallow: /p1.html #不允许抓取该网页
Disallow: /*?* #不允许抓取带?号的URL
Disallow: /job/s* #不允许抓取 /job/s下的所有,包括/job/s
Disallow: /*.png$ #不允许抓取 任何以".png"结尾的链接
如上,每一行的含义都写在了示例中。
PS:所有作品版权归原创作者所有,与本站立场无关,如不慎侵犯了你的权益,请联系我们告知,我们将做删除处理!
Copyright © 20019-2023 荟萃信息网 版权所有 蜀ICP备16021156号-2
电 话:0 手 机:0 传 真: E-mail:2074917417@qq.com
地 址:成都市金牛区
技术支持:荟萃网络科技
扫码关注我们