1.robots.txt含义
Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。(百度百科copy来的)
通俗说:就是用一个文本来控制百度蜘蛛,谷歌机器人等搜索引擎,我们的网站哪些不要去抓取,哪些要去抓取,别瞎抓,要按章程来。
2.robot.txt写作
robots涉及的名字有许多,以下也是copy百度的:
User-agent: * 这里的*代表的所有的搜索引擎种类,*是一个通配符
Disallow: /admin/ 这里定义是禁止爬寻admin目录下面的目录
Disallow: /require/ 这里定义是禁止爬寻require目录下面的目录
Disallow: /ABC/ 这里定义是禁止爬寻ABC目录下面的目录
Disallow: /cgi-bin/*.htm 禁止访问/cgi-bin/目录下的所有以”.htm”为后缀的URL(包含子目录)。
Disallow: /*?* 禁止访问网站中所有包含问号 (?) 的网址
Disallow: /.jpg$ 禁止抓取网页所有的.jpg格式的图片
Disallow:/ab/adc.html 禁止爬取ab文件夹下面的adc.html文件。
Allow: /cgi-bin/ 这里定义是允许爬寻cgi-bin目录下面的目录
Allow: /tmp 这里定义是允许爬寻tmp的整个目录
Allow: .htm$ 仅允许访问以”.htm”为后缀的URL。
Allow: .gif$ 允许抓取网页和gif格式图片
Sitemap: 网站地图 告诉爬虫这个页面是网站地图
解析:Disallow 是不允许,allow是允许。许多新手开始会犯一个重大错误:直接allow不就得了,剩下就是不允许的,鸭子我就会告诉大家如果你们这样写就是大错特错了,robots协议是先生效不允许Disallow后才会有allow的出现,也就是Disallow是先诞生,才会触发allow命令的执行(比如:先有鸡蛋,才会有公鸡)
3.robots写作规范
关于写robots协议大家不要盲目直接copy上方的,因为每个程序的文件由你自己本身网站所产生。
比如:你网站根目录下自行创建了一个tbk文件夹,那么如果要屏蔽它怎么办?
写法:(因为如果是第一次写,建议先创建一个本地命名一个robots.txt文本)
User-agent: *
Disallow: /tbk
注意:1.Disallow的开头要大写!allow也是要大写!,特别注意,否则是不生效的
2.冒号和/ 之间要存在空格,/代表的是网站根目录下,/tbk代表根目录下的tbk文件夹
3.User-agent:*代表所有搜索引擎蜘蛛,一个robots只出现一次。
解析:这样的写法告诉搜索引擎:我的网站针对所有搜索引擎蜘蛛在访问网站时,不允许抓取网站根目录下tbk文件夹内的所有文件。
总结:以此类推,如果你想禁止你的网站某些文件爬取,就应该去好好涉及一番了。