这篇文章主要介绍:robots.txt是什么?robots.txt中的参数含义。robots.txt写法大全和robots.txt语法的作用,robots.txt编写注意事项
robots.txt是什么?
robots.txt是一个纯文本文件,是爬虫抓取网站的时候要查看的第一个文件,一般位于网站的根目录下。robots.txt是用来告诉搜索引擎网站上哪些内容可以被访问、哪些不能被访问。当搜索引擎访问一个网站的时候,它首先会检查网站是否存在robots.txt,如果有则会根据文件命令访问有权限的文件。
而一个网站为什么要写robots.txt,主要有四点:
1、保护网站安全
2、节省流量
3、禁止搜索引擎收录部分页面
4、引导蜘蛛爬网站地图
robots.txt中的参数含义:
1. User-agent:描述搜索引擎spider的名字
在“robots.txt“文件中,如果有多条 User-agent记录,说明有多个robot会受到该协议的约束。所以,“robots.txt”文件中至少要有一条User- agent记录。如果该项的值设为*(通配符),则该协议对任何搜索引擎机器人均有效。在“robots.txt”文件 中,“User-agent:*”这样的记录只能有一条。
2. Disallow: / 禁止访问的路径
例如,Disallow: /home/news/data/,代表爬虫不能访问/home/news/data/后的所有URL,但能访问/home/news/data123
Disallow: /home/news/data,代表爬虫不能访问/home/news/data123、/home/news/datadasf等一系列以data开头的URL。
前者是精确屏蔽,后者是相对屏蔽
3. Allow:/允许访问的路径
例如,Disallow:/home/后面有news、video、image等多个路径,接着使用Allow:/home/news,代表禁止访问/home/后的一切路径,但可以访问/home/news路径。
robots.txt写法大全和robots.txt语法的作用
1如果允许所有搜索引擎访问网站的所有部分的话 我们可以建立一个空白的文本文档,命名为robots.txt放在网站的根目录下即可。
robots.txt写法如下:
User-agent: *
Disallow:
或者
User-agent: *
Allow: /
2如果我们禁止所有搜索引擎访问网站的所有部分的话
robots.txt写法如下:
User-agent: *
Disallow: /
3如果我们需要某一个搜索引擎的抓取的话,比如百度,禁止百度索引我们的网站的话
robots.txt写法如下:
User-agent: Baiduspider
Disallow: /
4如果我们禁止Google索引我们的网站的话,其实跟示例3一样,就是User-agent:头文件的蜘蛛名字改成谷歌的Googlebot即可
robots.txt写法如下:
User-agent: Googlebot
Disallow: /
5如果我们禁止除Google外的一切搜索引擎索引我们的网站话
robots.txt写法如下:
User-agent: Googlebot
Disallow:
User-agent: *
Disallow: /
6如果我们禁止除百度外的一切搜索引擎索引我们的网站的话
robots.txt写法如下:
User-agent: Baiduspider
Disallow:
User-agent: *
Disallow: /
7如果我们需要禁止蜘蛛访问某个目录,比如禁止admin、css、images等目录被索引的话
robots.txt写法如下:
User-agent: *
Disallow: /css/
Disallow: /admin/
Disallow: /images/
8如果我们允许蜘蛛访问我们网站的某个目录中的某些特定网址的话
robots.txt写法如下:
User-agent: *
Allow: /css/my
Allow: /admin/html
Allow: /images/index
Disallow: /css/
Disallow: /admin/
Disallow: /images/
9我们看某些网站的robots.txt里的Disallow或者Allow里会看很多的符号,比如问号星号什么的,如果使用“*”,主要是限制访问某个后缀的域名,禁止访问/html/目录下的所有以”.htm”为后缀的URL(包含子目录)。
robots.txt写法如下:
User-agent: *
Disallow: /html/*.htm
10如果我们使用“$”的话是仅允许访问某目录下某个后缀的文件
robots.txt写法如下:
User-agent: *
Allow: .asp$
Disallow: /
11如果我们禁止索引网站中所有的动态页面(这里限制的是有“?”的域名,例如index.asp?id=1)
robots.txt写法如下:
User-agent: *
Disallow: /*?*
有些时候,我们为了节省服务器资源,需要禁止各类搜索引擎来索引我们网站上的图片,这里的办法除了使用“Disallow: /images/”这样的直接屏蔽文件夹的方式之外,还可以采取直接屏蔽图片后缀名的方式。
12如果我们禁止Google搜索引擎抓取我们网站上的所有图片(如果你的网站使用其他后缀的图片名称,在这里也可以直接添加)
robots.txt写法如下:
User-agent: Googlebot
Disallow: .jpg$
Disallow: .jpeg$
Disallow: .gif$
Disallow: .png$
Disallow: .bmp$
13如果我们禁止百度搜索引擎抓取我们网站上的所有图片的话
robots.txt写法如下:
User-agent: Baiduspider
Disallow: .jpg$
Disallow: .jpeg$
Disallow: .gif$
Disallow: .png$
Disallow: .bmp$
14除了百度之外和Google之外,禁止其他搜索引擎抓取你网站的图片
(注意,在这里为了让各位看的更明白,因此使用一个比较笨的办法——对于单个搜索引擎单独定义。)
robots.txt写法如下:
User-agent: Baiduspider
Allow: .jpeg$
Allow: .gif$
Allow: .png$
Allow: .bmp$
User-agent: Googlebot
Allow: .jpeg$
Allow: .gif$
Allow: .png$
Allow: .bmp$
User-agent: *
Disallow: .jpg$
Disallow: .jpeg$
Disallow: .gif$
Disallow: .png$
Disallow: .bmp$
15仅仅允许百度抓取网站上的“JPG”格式文件(其他搜索引擎的办法也和这个一样,只是修改一下搜索引擎的蜘蛛名称即可)
robots.txt写法如下:
User-agent: Baiduspider
Allow: .jpg$
Disallow: .jpeg$
Disallow: .gif$
Disallow: .png$
Disallow: .bmp$
16仅仅禁止百度抓取网站上的“JPG”格式文件
robots.txt写法如下:
User-agent: Baiduspider
Disallow: .jpg$
17如果 ? 表示一个会话 ID,您可排除所有包含该 ID 的网址,确保 Googlebot 不会抓取重复的网页。但是,以 ? 结尾的网址可能是您要包含的网页版本。在此情况下,沃恩可将与 Allow 指令配合使用。
robots.txt写法如下:
User-agent:*
Allow:/*?$
Disallow:/*?
Disallow:/ *?
一行将拦截包含 ? 的网址(具体而言,它将拦截所有以您的域名开头、后接任意字符串,然后是问号 (?),而后又是任意字符串的网址)。Allow: /*?$ 一行将允许包含任何以 ? 结尾的网址(具体而言,它将允许包含所有以您的域名开头、后接任意字符串,然后是问号 (?),问号之后没有任何字符的网址)。
18如果我们想禁止搜索引擎对一些目录或者某些URL访问的话,可以截取部分的名字
robots.txt写法如下:
User-agent:*
Disallow: /plus/feedback.php?
robots.txt编写注意事项
在写robots.txt文件时语法一定要用对,User-agent、Disallow、Allow、Sitemap这些词都必须是第一个字母大写,后面的字母小写,而且在:后面必须带一个英文字符下的空格。
网站上线之前切记写robots.txt文件禁止蜘蛛访问网站,如果不会写就先了解清楚写法之后再写,以免给网站收录带来不必要的麻烦。
robots.txt文件生效时间在几天至一个月之间,站长自身无法控制。但是,站长可以在百度统计中查看网站robots.txt文件是否生效。
暂无评论内容