robots 协议(也称为爬虫协议、爬虫规则、机器人协议等)也就是 robots.txt,网站通过robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不希望被抓取。
搜索引擎蜘蛛自动访问互联网上的网页井获取网页信息,它在访问一个网站时,首先会检查该网站的根目录下是否含有robots.txt的文本文件,该文件主要用来限定搜索引擎蜘蛛在网站上的抓取范围。这时可以在网站中创建一个robots.txt,在文件中声明该网站中不希望被搜索引擎收录的网页或者指定搜索引擎收录的网页。例如,在百度中搜索“淘宝”,会看到图4-7所示的信息,也就是说淘宝屏蔽了百度的抓取。
通常来说,robots.txt文件存放在网站的根目录下。举例来说,当搜索引擎蜘蛛访问一个网站(如 http://www.abc.com),首先会检查该网站中是否存在http://www.abc.com/robots.txt这个文件,如果蜘蛛找到这个文件,它就会根据这个文件的内容,来确定它访问权限的范围。
注意:
当网站包含不希望被搜索引擎收录的内容时,才需要在网站根目录设置robots.txt文件。相反,网站如果没有禁止搜索引擎收录的内容,请勿建立robots.txt文件。
2. robots.txt文件的写法
robots.txt文件的写法多种多样,不同的写法所起到的作用也各不相同,下面详细介绍几种robots.txt文件的常用写法。
(1)允许所有搜索引擎访问
允许所有搜索引擎访问的robots.txt文件写法为:
User-agent: *Disallow:
User-agent: *Allow: /
User-agent: *”中“*”是一个通配符,它代表所有搜索引擎种类。
(2)禁止所有搜索引擎访问
禁止所有搜索引擎访问的robots.txt文件的写法为:
User-agent: *Disallow: /
User-agent: *Allow:
(3)禁止所有搜索引擎访问网站中的部分网页
禁止所有搜索引擎访问网站中的部分网页,这里用 a、b、c 目录来代替禁止搜索引擎访问的网页部分,其robots.txt文件写法为:
User-agent: *Disallow: /a/Disallow: /b/Disallow: /c/
如果是允许搜索引擎访问网站中a、b、c目录的网页内容,其robots.txt文件写法为:
Allow: /a/Allow: /b/Allow: /c/
(4)禁止某个搜索引擎的访问
禁止某个搜索引擎的访问时,这里用 w 来代替被禁止访问的搜索引擎,其robots.txt文件写法为:
User-agent: wDisallow: /
或者是:
User-agent: wDisallow: /d/*.htm
在 Disallow:后面加 /d/*.htm 的意思是禁止访问/d/目录下的所有以”.htm”为后缀的URL,包含子目录。
(5)只允许某个搜索引擎的访问
只允许某个搜索引擎的访问,这里用e来代替这个搜索引擎,其robots.txt文件写法为:
User-agent: eDisallow:
在Disallow:后面不用加任何内容,意思是仅允许e访问该网站。
(6)使用”$”限制访问URL
使用”$”限制访问URL时,其robots.txt文件写法为:
User-agent: *Allow: .htm$Disallow: /
意思是仅允许访问以”.htm”为后缀的URL。
(7)禁止访问网站中所有的动态页面
禁止访问网站中所有的动态页面时的robots.txt文件写法为:
User-agent: *Disallow: /*?*
(8)禁止搜索引擎抓取网站上所有图片
禁止搜索引擎抓取网站上所有图片,这里以F代替某搜索引擎,其robots.txt写法为:
User-agent: FDisallow: .jpg$Disallow: .jpeg$Disallow: .gif$Disallow: .png$Disallow: .bmp$
意思是只允许引擎抓取网页,禁止抓取任何图片(严格来说,是禁止抓取jpg、jpeg、gif、png、bmp格式的图片)。
(9)只允许搜索引擎抓取网页和.gif格式图片
只允许搜索引擎抓取网页和.gif格式图片,这里以E来代替某搜索引擎,其写法为:
User-agent: EAllow: .gif$Disallow: .jpg$Disallow: .jpeg$Disallow: .png$Disallow: .bmp$
意思是只允许抓取网页和gif格式图片,不允许抓取其他格式图片。