Robots.txt – 禁止爬虫

Robots.txt – 禁止爬虫

robots.txt用于禁止网络爬虫访问网站指定目录。robots.txt的格式采用面向行的语法:空行、注释行(以#打头)、规则行。规则行的格式为:Field: value。常见的规则行:User-Agent、Disallow、Allow行。

User-Agent行

User-Agent: robot-name
User-Agent: *

Disallow和Allow行

Disallow: /path
Disallow:           # 空字符串,起通配符效果,全禁止

Allow: /path
Allow:              # 空字符串,起通配符效果,全允许

搜索引擎的User-Agent对应名称

搜索引擎 User-Agent值
Google googlebot
百度 baiduspider
雅虎 slurp
MSN msnbot
Alexa is_archiver

我在Linux上抓包观察到的一些搜索引擎访问记录:

# tcpdump -n -nn -A -l -s1024 'tcp port 80'|grep User-Agent
User-Agent: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
User-Agent: Googlebot-Image/1.0
User-Agent: Feedfetcher-Google; (+http://www.google.com/feedfetcher.html; 5 subscribers; feed-id=4619555564728728616)
User-Agent: Mozilla/5.0(compatible; Sosospider/2.0; +http://help.soso.com/webspider.htm)
User-Agent: Mozilla/5.0 (compatible; YoudaoBot/1.0; http://www.youdao.com/help/webmaster/spider/; )
User-Agent: Mozilla/5.0 (compatible; JikeSpider; +http://shoulu.jike.com/spider.html)

JikeSpider是即刻搜索(人民搜索)。

robots.txt的补充

如果你没有对网站根目录的写入权限(无法建立robots.txt文件),或你想要某个指定的网页不被搜索引擎收录,可以使用元标签阻止爬虫访问:

 name="robots" content="noindex">              

 name="googlerobot" content="noindex">         

robots元标记的默认值为”index,follow”,它的取值可以是(来自Google站长帮助):

noindex

防止网页被编入索引。

nofollow

防止googlebot从此页面中跟踪链接。

noarchive

防止Google显示网页的快照链接。

noimageindex

不被Google图片搜索索引。

现实中的robots.txt

淘宝屏蔽百度

淘宝屏蔽了百度抓取(2008年9月),http://www.taobao.com/robots.txt的内容:

User-agent: Baiduspider
Disallow: /

User-agent: baiduspider
Disallow: /

百度与360的搜索引擎之争

2012年8月,360推出搜索引擎,并与百度发生正面冲突。百度工程师跑出来说360违反robots协议,偷窃百度内容。以百度知道为例,http://zhidao.baidu.com/robots.txt的内容大致是这样:

User-agent: Baiduspider
Disallow: /w?
Allow: /

User-agent: Googlebot
User-agent: MSNBot
User-agent: Baiduspider-image
User-agent: YoudaoBot
User-agent: Sogou web spider
User-agent: Sogou inst spider
User-agent: Sogou spider2
User-agent: Sogou blog
User-agent: Sogou News Spider
User-agent: Sogou Orion spider
User-agent: JikeSpider
User-agent: Sosospider
Allow: /

User-agent: *
Disallow: /

也就是说对360爬虫而言,应该走最后一条规则,也就是禁止抓取百度知道所有内容。但从360搜索看,有百度知道的内容。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113889.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • .NET .cshtml乱码 代码丢失

    .NET .cshtml乱码 代码丢失见了鬼莫名其妙的代码自己乱码丢了!!!之前有同事说他碰见过这个问题,但是是在电源断电VS没有保存的时候发生的。我这什么都没碰就睡了一觉起来代码丢了解决方案:只能回滚代码发生原因推测:之前架设SVN的时候.CSHTML的文件类型是一个特殊类型,不跟正常的htmlcsjava什么的一样,这次乱码很可能跟vs自己读取这个文件类型的方式有关系。

    2022年6月22日
    35
  • 以太坊私有链搭建_eth节点搭建

    以太坊私有链搭建_eth节点搭建Johnsir亲传不作任何商业用途首先创建三个文件夹分别为三个节点每个文件夹准备好一个存放数据的文件夹然后进入John1cmd进入puppeth后面的直接回车就可以到这步开始导出导出后文件夹多了四个文件主要用到的就是jhgeth.json其他三个可有可无geth–datadir”./jhdata”–networkid112233initjhgeth.json初始化创世块获取到geth…

    2022年10月7日
    4
  • Python_note_003(Python中的输入函数input()、运算符用法)「建议收藏」

    Python_note_003(Python中的输入函数input()、运算符用法)「建议收藏」输入函数input()作用:接收来自用户的输入返回值类型:输入值的类型为str值的存储:使用=对输入的值进行存储#输入函数inputpre=input('你叫什么名字?')

    2022年7月6日
    26
  • setScale,preScale和postScale的区别

    setScale,preScale和postScale的区别下面是Matrix3*3的矩阵结构[java] viewplaincopy1.   {MSCALE_X,MSKEW_X,MTRANS_X,  2.   MSKEW_Y,MSCALE_Y,MTRANS_Y,  3.   MPERSP_0,MPERSP_1,MPERSP_2}  一、首先介绍Scale缩放的控制scale就是缩放,我们调用Matrix的setSc

    2022年10月20日
    4
  • 安全威胁无孔不入:基于Linux系统的病毒(转)

    安全威胁无孔不入:基于Linux系统的病毒(转)

    2022年1月24日
    53
  • mysql 数据_MySQL和SQL

    mysql 数据_MySQL和SQL附带国内精确到市,国外的精确到省吧。下载这里的:https://download.csdn.net/download/luolincsdn/10675557有的下载都没用,想一想还是放出来比较好。这是数据表:DROPTABLEIFEXISTS`ht_location`;CREATETABLEIFNOTEXISTS`ht_location`(`id`int(11…

    2022年9月30日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号