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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • android华为账号登陆,华为手机怎么找回华为账号密码?华为账号密码两种找回方法…

    android华为账号登陆,华为手机怎么找回华为账号密码?华为账号密码两种找回方法…忘记华为账号密码真的是一件让人头疼的事,账号绑定的游戏进不去、喜欢的主题无法下载,真是让人干着急,别担心,小编这就整理了一些如何找回华为账号密码的方法,一起来了解下吧!方法一通过华为官方链接找回密码您可以通过此华为官方链接:https://cloud.huawei.com/,点击“忘记密码”找回华为账号密码方法二通过手机客户端重置密码未登录华为帐号:进入手机“设置”>“华为帐号”&gt…

    2022年6月24日
    110
  • 为什么数据库读写分离可以提高性能

    虽然知道处理大数据量时,数据库要做读写分离,但是为什么读写分离可以提高性能呢?下面是搜来的一些解释,看看再说!一什么是读写分离      MySQLProxy最强大的一项功能是实现“读写分离(Read/WriteSplitting)”。基本的原理是让主数据库处理事务性查询,而从数据库处理SELECT查询。数据库复制被用来把事务性查询导致的变更同步到集群中的从数

    2022年4月7日
    42
  • java入门编程(菜鸟教程)

    java入门编程(菜鸟教程)1.创建一个java程序的步骤a打开editplus软件,选择左上角的file选项,在弹出来的菜单中选择new然后再从弹出来的菜单中选择normaltextb按住ctrl+s快捷键,保存。1选择要保存的位置2给文件命名(以大写的字母开头)3选择文件的后缀,以.java后缀结尾c进行代码的编写,所有字符我们必须都是英文输入状态下的d打开控制台(win+r在弹出左下角的命令行中输入cmd)e找到java源文件的位置,我们使用cd命令定位到我们源文件的文件夹(我们可以在打开的源文件文件夹地址栏

    2022年5月26日
    43
  • Android实现点击两次返回退出APP

    Android实现点击两次返回退出APPAndroid实现点击两次退出APP这两天在做一个项目碰到这么个问题,需要主界面点击两次直接退出整个APP而不是返回上一个界面,查找了网上的资料,整合和修改了一下写了这篇博客。这里我主要以我的项目

    2022年7月1日
    28
  • phpstrom 2021.1.3激活(JetBrains全家桶)

    (phpstrom 2021.1.3激活)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~4…

    2022年3月30日
    152
  • Aria2安装(aria2安卓版手机配置教程)

    1安装sudopacman-Saria22创建配置文件cd~mkdir.aria2cd.aria2toucharia2.confaria2.logaria2.session3修改配置文件aria2.conf需要自己配置rpc-secret和bt-trackerbt-tracker可以去trackerslist网站获取#文件的保存路径(可使用绝对路径或相对路径),默认:当前启动位置dir=${HOME}/Downloads#启用磁盘缓存,0为

    2022年4月14日
    1.1K

发表回复

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

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