允许所有蜘蛛爬行User-agent: * 如何屏蔽搜索引擎蜘蛛 robots文件语法含义
时间:2016-06-22 00:00 来源:未知 点击:次
robots.txt文件是做什么的,robots文件又称robots协议(也称为爬虫协议、爬虫规则、机器人协议等)robots协议是告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。robots协议不是命令,它只是一个网站国际互联网界通行的道德规范,知名的引擎蜘蛛都会遵守这个协议,只有一些缺乏职业道德的搜索引擎会绕开它。所以修改这个协议也不是万能保险的。
robots.txt文件是一个放置在网站根目录下的记事本文件,当搜索蜘蛛访问网站时,它会先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。百度官方建议,仅当您的网站包含不希望被搜索引擎收录的内容时,才需要使用robots.txt文件。如果您希望搜索引擎收录网站上所有内容,请勿建立robots.txt文件。
robots文件屏蔽的写法
下面是一个网站的robots文件的代码样式。
我们来看一下它的意思:
robots文件中应同时包含2个域,“User-agent:”和“Disallow:”,其中User-agent:代表允许、Disallow:代表禁止。每条指令独立一行。并且User-agent必须出现在第一行(有意义的行,注释除外),首先声明用户代理。
User-agent:
User-agent:指定允许哪些蜘蛛抓取,如果给出参数,则只有指定的蜘蛛能够抓取;如值为通配符“*”号,代表允许所有蜘蛛抓取。如:
↑ 只允许Google的蜘蛛抓取。
↑ 只允许百度的蜘蛛抓取。
↑ 这个是指允许所有蜘蛛抓取,*为通配符,代表所有。
Disallow:
这个是表示禁止蜘蛛抓取的,以上面的robots文件为例。
↑ 这个是指禁止引擎蜘蛛抓取网站中plus目录中的ad_js.php文件
↑ 这个是指禁止引擎蜘蛛抓取网站中include整个目录,它和Disallow: /include/不是等同的。
↑ 这个是指禁止引擎蜘蛛抓取网站中include目录下面的目录,但include目录中的文件蜘蛛仍然可以抓取。
↑ 禁止访问/cgi-bin/目录下的所有以".htm"为后缀的URL(包含子目录)。
↑ 禁止访问网站中所有包含问号 (?) 的网址
↑ 禁止抓取网页所有的.jpg格式的图片
Allow:
这是允许的意思。
↑ 这里是允许爬寻include目录下面的目录
↑ 这里是允许爬寻include整个目录
↑ 仅允许访问以".htm"为后缀的URL。
↑ 允许抓取网页和gif格式图片
Sitemap:
网站地图 告诉爬虫这个页面是网站地图
robot文件的常见用法
↓ 例1. 禁止所有搜索引擎访问整个网站。
↓ 例2.禁止百度蜘蛛访问整个网站。
↓ 例3.允许所有搜索引擎访问(也可以建立一个空robots.txt文件或者不建立robots文件)
User-agent:后的*具有特殊的含义,代表“any robot”,所以在该文件中不能有“Disallow: /tmp/*” or “Disallow:*.gif”这样的记录出现。
robots Meta标签屏蔽法
Meta robots标签必须放在和之间,格式:
content中的值决定允许抓取的类型,必须同时包含两个值:是否允许索引(index)和是否跟踪链接(follow,也可以理解为是否允许沿着网页中的超级链接继续抓取)。共有4个参数可选,组成4个组合:
index,follow:允许抓取本页,允许跟踪链接。
index,nofollow:允许抓取本页,但禁止跟踪链接。
noindex,follow:禁止抓取本页,但允许跟踪链接。
noindex,nofllow:禁止抓取本页,同时禁止跟踪本页中的链接。
以上1和4还有另一种写法:
index,follow可以写成all,
noindex,nofollow可以写成none,
需要注意的是,robots Meta标签很多搜索引擎是不支持的,只有少数搜索引擎能够识别并按给定的值抓取。所以,尽可能的使用robots.txt文件来限制抓取。
(责任编辑:admin) |