开发界
首页 移动开发 在线交易 IT笔记 网络技术 操作系统 企业架构 数据库 考试认证 IT培训 开源软件 数据存储 行业资讯
大家都在看:java   开发   C#   oracle   mysql   android   web开发   学习   sqlserver   linux   asp   php   ajax   javascript   css   html
robots.txt用法
2013-02-22 09:58:41 来源:开发界 作者:admin 栏目:网络管理 责任编辑:admin
[导读]robots.txt的主要作用是告诉蜘蛛爬虫该网站下哪些内容能抓取,哪些内容不能抓取。虽然可以没有robots.txt这个文件,默认就抓取该网站的所有文件,对搜索引擎爬虫没有任何的影响,但是如果你想控制蜘蛛的检索间隔,你就必须用robots.txt来控制。

  robots.txt的主要作用是告诉蜘蛛爬虫该网站下哪些内容能抓取,哪些内容不能抓取。虽然可以没有robots.txt这个文件,默认就抓取该网站的所有文件,对搜索引擎爬虫没有任何的影响,但是如果你想控制蜘蛛的检索间隔,你就必须用robots.txt来控制。

  robots.txt不是一种规范,是约定俗成的,主流的搜索引擎都是遵循robots.txt的规则来索引页面,但是一些spam爬虫不会遵循,所以说robots.txt只能防君子,不能防小人,如果目录下有隐私的文件夹,建议设置密码或者登陆用户才能访问。

  robots.txt基本用法

  User-agent

  User-agent是用来匹配爬虫的,每个爬虫都会有一个名字,如果你有安装awstats统计工具,你就能查看到爬虫的名字,比如百度的爬虫叫BaiDuSpider,Google的爬虫叫Googlebot,*表示所有爬虫。

  Disallow

  Disallow表示禁止爬虫访问的目录。Disallow: / 表示拦截整站。

  Allow

  Allow表示允许爬虫访问的目录。Allow: / 表示允许整站。

  Sitemap

  Sitemap用来指定sitemap的位置。

  Crawl-delay

  Crawl-delay用来告诉爬虫两次访问的间隔,单位是秒。爬虫如果爬得很勤,对动态网站来说,压力有点大,可能会导致服务器负载增高,用户访问变慢。

  在计算Crawl-delay时间的时候,要稍微计算一下,ysearchblog上有篇日志,介绍得很清楚。

  通配符|wildcard match

  *:匹配任意多个字符

  $:表示URL的结尾

  注意|notice

  URL区分大小写,所以 /abc/ 和 /Abc/ 表示不同的目录。

  后面有没有斜杠也是不一样的,/private 和 /private/也表示两个不同的地址。

  例子|examples

  不管是Disallow,Allow还是Sitemap,每行只能写一条规则。Google本身就有一个robots.txt,值得大家参考。

  拦截部分文件或目录

  User-agent: *

  Disallow: /cgi-bin/

  Disallow: /aaa.html

  允许爬虫访问所有的目录,有两种写法

  User-agent: *

  Disallow:

  User-agent: *

  Allow: /

  通配符的使用,拦截.gif文件

  User-agent: *

  Disallow: /*.gif$

  拦截带有?的文件

  User-agent: *

  Disallow: /*?

  Sitemap例子

  Sitemap: http://www.ezloo.com/sitemap.xml

  来源:http://www.ezloo.com/2011/04/robots_txt.html

  常用的机器人名字:

  Googlebot:Google的网页抓取机器人;

  Googlebot-Mobile:Google对于wap页面的自动机器人(主要对wap站);

  Googlebot-Image:Google的图片索引机器人(主要对图片站,此机器人对于不想google抓取图片的站来说有用);

  Baiduspider:百度蜘蛛

  Yahoo Slurp:雅虎爬虫

  其他还有很多网页抓取机器人,不过基本不用考虑了。

  实例 1:

  C代码

  User-agent: *

  Sitemap:http://域名/sitemap.xml

  Allow: /

  Disallow: /文件1.html

  Disallow: /目录名1/

  Disallow: /目录名2/文件1.html

  User-agent: *

  Sitemap:http://域名/sitemap.xml

  Allow: /

  Disallow: /文件1.html

  Disallow: /目录名1/

  Disallow: /目录名2/文件1.html

  实例 2:

  C代码

  User-agent: ia_archiver

  Disallow: /

  User-agent: *

  Disallow: /you/

  Disallow: /floder/leadership.htm

  Sitemap: http://www.domain.edu/sitemap.php

  Sitemap: http://www.domain.edu/sitemap-news.php

  sitemap: http://cdn.snapsitemap.com/sitemap/70933.xml.gz

  User-agent: ia_archiver

  Disallow: /

  User-agent: *

  Disallow: /you/

  Disallow: /floder/leadership.htm

  Sitemap: http://www.domain.edu/sitemap.php

  Sitemap: http://www.domain.edu/sitemap-news.php

  sitemap: http://cdn.snapsitemap.com/sitemap/70933.xml.gz

  google document: http://support.google.com/webmasters/bin/answer.py?hl=en&answer=156449&topic=1724262&ctx=topic



版权所有:转载请注明出处!
分享到:
上一篇SSH 登陆变慢的问题解决(CentOS) 下一篇设置OE自动答复
您可能还喜欢
今日最新资讯 最新推荐信息
考试认证 更多
开发技术 更多
移动开发 更多

关于开发界 | 合作伙伴 | 联系我们 | 友情链接 | 版权声明 | 网站制作 | 网站地图 | 加入收藏 | 设为首页

Copyright@2012-2016 开发界 京ICP备12027873号