web站点下robots.txt文件的书写与注意事项

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web站点下robots.txt文件的书写与注意事项相关的知识,希望对你有一定的参考价值。

  Robots协议(爬虫协议)是国际互联网界通行的道德规范,一般是在一个web站点的根目录下写的robots.txt文件,用来告知搜索引擎哪些页面能被抓取,哪些页面不能被抓取,可以屏蔽一些网站中比较大的文件,如:图片,音乐,视频等,节省服务器带宽;可以屏蔽站点的一些死链接。方便搜索引擎抓取网站内容;设置网站地图连接,方便引导蜘蛛爬取页面。

    通常的写法格式如下:

User-agent: * 
#这里的*通配符代表搜索引擎种类,*就是匹配所有的蜘蛛
Allow: /
Disallow:
#以上2个都表示允许蜘蛛抓取所有文件
Allow: /test
#表示允许抓取test整个目录
Disallow: /
#站点根目录,表示禁止蜘蛛抓取站点
Disallow: /A/
#表是禁止爬取A目录下的所有目录
Allow: /A/
#表示允许爬取A目录下的所有目录
Disallow: /A/a.html
#表示禁止访问A目录下的a.html页面
Allow: /A/a.html
#表示仅允许访问A目录下的a.html页面
Disallow: /A/*.html
#表示禁止访问A目录下的所有".html"结尾的url,包括子目录
Disallow: /A/.html$
#表示禁止访问A目录下所有".html"为后缀的url
Allow: /A/.html$
#表示仅允许访问A目录下所有".html"为后缀的url
Disallow: /A/.jpg$
#表示禁止爬取A目录下的所有jpg图片
Allow: /A/.jpg$
#表示仅允许爬取A目录下的所有jpg图片
Disallow: /*?*
#禁止访问网站中所有包含问号 (?) 的url
Sitemap: domain.html
#告诉爬虫这个页面是网站地图,谷歌为xml格式,百度为html格式,留空表示无

基本就是这样的写法爬虫机器人就会遵守Robots协议,当然还有几个特殊的选项

Robot-version: Version 1.0
#用来指定使用的robot协议的版本号1.0
Crawl-delay: 5
#检索间隔5秒,留空表示无
Visit-time: 0100-1000
#允许1点到10点爬取,留空表示无
Request-rate: 40/1m 0100 - 0759
#允许在1:00到07:59之间访问,但是只能以每分钟40次的频率进行访问,留空表示无

除此之外还有几个注意事项,如果目录是敏感文件夹,如站点根目录下有admin文件夹(一般是站点的后台)那么一定要禁止爬虫,但是不能 Disallow: /admin/ 这样写,这样不仅没有用,还泄露信息,引起爬虫更猛烈的爬取,最好的办法就是改掉默认的文件夹名字,但是如果不能改目录结构的话,要Disallow: /ad 这样使用局部的名称写;还有如果根目录下有passwords.txt、admin.php这样的敏感文件也不能直接使用Disallow: passwords.txt Disallow: admin.php这样写,原理同前者,最好的办法是把这些敏感文件放在隔离的目录下,当然如果不能改变目录的结构的话,需要Disallow: .txt$ Disallow: .php$写


本文出自 “技术随笔” 博客,谢绝转载!

以上是关于web站点下robots.txt文件的书写与注意事项的主要内容,如果未能解决你的问题,请参考以下文章

网站robots.txt探测工具Parsero

robots.txt

robots.txt

robots.txt 文件是什么? 如何获取

十urllib库(分析Robots协议)

robots.txt