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$写
时间: 2024-10-03 23:01:17