本文目录一览:
Robots协议-"盗亦有道"
根据协议,网站管理员可以在网站域名的根目录下放一个robots.txt 文本文件,里面可以指定不同的网络爬虫能访问的页面和禁止访问的页面,指定的页面由 正则表达式 表示。网络爬虫在采集这个网站之前,首先获取到这个文件,然后解析到其中的规则,然后根据规则来采集网站的数据。
注意,这个协议的存在更多的是需要网络爬虫去遵守,而起不到防止爬虫的功能。
互联网上的网页是通过超级链接互相关联起来的,从而形成了网页的网状结构。爬虫的工作方式就像蜘蛛在网上沿着链接爬来爬去,最基本的 流程 可以简化如下:
了解了上面的流程就能发现:对爬虫来说网站非常 被动 ,只有老老实实被抓取的份。
所以,对于网站的管理者来说,就存在这样的需求:
某些路径下是个人隐私或者网站管理使用,不想被搜索引擎抓取,比如说 日本爱情动作片 ;
不喜欢某个搜索引擎,不愿意被他抓取,最有名的就是之前 淘宝不希望被百度抓取 ;
小网站使用的是公用的虚拟主机,流量有限或者需要付费,希望搜索引擎抓的温柔点;
某些网页是动态生成的,没有直接的链接指向,但是希望内容被搜索引擎抓取和索引。
网站内容的所有者是网站管理员,搜索引擎应该尊重所有者的意愿,为了满足以上等等,就需要提供一种网站和爬虫进行沟通的途径,给网站管理员表达自己意愿的机会。有需求就有供应, robots 协议 就此诞生。
京东的Robots协议
百度的Robots协议
上面, *代表所有,/代表根目录
既然网络爬虫在爬取一个网站之前,要先获取到这个文件,然后解析到其中的规则,那么,Robots就必须要有一套通用的语法规则。
最简单的robots.txt只有两条规则:
User-agent:指定对哪些爬虫生效
Disallow:指定要屏蔽的网址
先说User-agent,爬虫抓取时会声明自己的身份,这就是User-agent,没错,就是http协议里的User-agent。robots.txt利用User-agent来区分各个引擎的爬虫,比如说google网页搜索爬虫的User-agent为Googlebot。
可能有读者要问了,我怎么知道爬虫的User-agent是什么?你还可以查 相关搜索引擎的资料 得到官方的数据,比如说百度的爬虫列表是这样的:
Disallow 行列出的是要拦截的网页,以正斜线 (/) 开头,可以列出特定的网址或模式。要屏蔽整个网站,使用正斜线即可;要屏蔽某一目录以及其中的所有内容,在目录名后添加正斜线;要屏蔽某个具体的网页,就指出这个网页。
下面介绍一些实例:
或者也可以建一个空文件 "/robots.txt" file。
我们再来结合两个真实的范例来学习一下。先看这个例子:
这个是淘宝网的Robots协议内容,相信你已经看出来了,淘宝网禁止百度的爬虫访问。
再来看一个例子:
这个稍微复杂点,京东有2个目录不希望所有的爬虫来抓。同时,京东完全屏蔽了一淘网的蜘蛛(EtaoSpider是一淘网的蜘蛛)。
sitemap
爬虫会通过网页内部的链接发现新的网页。但是如果没有链接指向的网页怎么办?或者用户输入条件生成的动态网页怎么办?能否让网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页?这就是 sitemap , 最简单的 Sitepmap 形式就是 XML 文件 ,在其中列出网站中的网址以及关于每个网址的其他数据(上次更新的时间、更改的频率以及相对于网站上其他网址的重要程度等等),利用这些信息搜索引擎可以更加智能地抓取网站内容。
新的问题 来了,爬虫怎么知道这个网站有没有提供sitemap文件,或者说网站管理员生成了sitemap,(可能是多个文件),爬虫怎么知道放在哪里呢?
由于robots.txt的位置是固定的,于是大家就想到了把sitemap的位置信息放在robots.txt里。这就成为robots.txt里的新成员了。
节选一段google robots.txt:
Sitemap: ...
Sitemap: ...
插一句,考虑到一个网站的网页众多,sitemap人工维护不太靠谱,google提供了工具可以自动生成sitemap。
meta tag
其实严格来说这部分内容不属于robots.txt。
robots.txt的初衷是为了让网站管理员管理可以出现在搜索引擎里的网站内容。但是,即使使用 robots.txt文件让爬虫无法抓取这些内容,搜索引擎也可以通过其他方式找到这些网页并将它添加到索引中。例如,其他网站仍可能链接到该网站。因此,网页网址及其他公开的信息(如指向相关网站的链接中的定位文字或开放式目录管理系统中的标题)有可能会出现在引擎的搜索结果中。如果想彻底对搜索引擎 隐身 那咋整呢?答案是:元标记,即meta tag。
比如要完全阻止一个网页的内容列在搜索引擎索引中(即使有其他网站链接到此网页),可使用 noindex 元标记。只要搜索引擎查看该网页,便会看到 noindex 元标记并阻止该网页显示在索引中,这里注意 noindex 元标记提供的是一种逐页控制对网站的访问的方式。
要防止所有搜索引擎将网站中的网页编入索引,在网页的部分添加:
这里的 name取值 可以设置为某个搜索引擎的 User-agent 从而指定屏蔽某一个搜索引擎。
除了noindex外,还有其他元标记,比如说nofollow,禁止爬虫从此页面中跟踪链接。详细信息可以参考Google支持的元标记,这里提一句:noindex和nofollow在 HTML4.01规范 里有描述,但是其他tag的在不同引擎支持到什么程度各不相同,还请读者自行查阅各个引擎的说明文档。
Crawl-delay
除了控制哪些可以抓哪些不能抓之外,robots.txt还可以用来控制爬虫抓取的速率。如何做到的呢?通过设置爬虫在两次抓取之间等待的秒数。这种操作可以进行缓解服务器压力。
表示本次抓取后下一次抓取前需要等待5秒。
注意 : google已经不支持这种方式了,在webmaster tools里提供了一个功能可以更直观的控制抓取速率。
这里插一句题外话,几年前曾经有一段时间robots.txt还支持复杂的参数:Visit-time,只有在visit-time指定的时间段里,爬虫才可以访问;Request-rate:用来限制URL的读取频率,用于控制不同的时间段采用不同的抓取速率。后来估计支持的人太少,就渐渐的废掉了,目前google和baidu都已经不支持这个规则了,其他小的引擎公司貌似 从来都 没有支持过。
网络爬虫:
自动或人工识别robots.txt,再进行内容爬取
约束性:
Robots协议是建议但非约束性,网络爬虫可以不遵守,但存在法律风险。
原则:类人行为可以不参考Robots协议。
Robots协议不是什么技术壁垒,而只是一种互相尊重的协议,好比私家花园的门口挂着“闲人免进”,尊重者绕道而行,不尊重者依然可以推门而入。目前,Robots协议在实际使用中,还存在一些问题。
缓存
robots.txt本身也是需要被抓取的,出于效率考虑,一般爬虫不会每次抓取网站网页前都抓一下robots.txt,加上robots.txt更新不频繁,内容需要解析。通常爬虫的做法是先抓取一次,解析后缓存下来,而且是相当长的时间。假设网站管理员更新了robots.txt,修改了某些规则,但是对爬虫来说并不会立刻生效,只有当爬虫下次抓取robots.txt之后才能看到最新的内容。尴尬的是,爬虫下次抓取robots.txt的时间并不是由网站管理员控制的。当然,有些搜索引擎提供了web工具可以让网站管理员通知搜索引擎那个url发生了变化,建议重新抓取。注意,此处是建议,即使你通知了搜索引擎,搜索引擎何时抓取仍然是不确定的,只是比完全不通知要好点。至于好多少,那就看搜索引擎的良心和技术能力了。
ignore
不知是无意还是有意,反正有些爬虫不太遵守或者完全忽略robots.txt,不排除开发人员能力的问题,比如说根本不知道robots.txt。另外,本身robots.txt不是一种强制措施,如果网站有数据需要保密,必需采取技术措施,比如说:用户验证,加密,ip拦截,访问频率控制等。
恶意爬虫
在互联网世界中,每天都有不计其数的爬虫在日夜不息地爬取数据,其中恶意爬虫的数量甚至高于非恶意爬虫。遵守Robots协议的爬虫才是好爬虫,但是并不是每个爬虫都会主动遵守Robots协议。
恶意爬虫可以带来很多潜在威胁,比如电商网站的商品信息被爬取可能会被竞争对手利用,过多的爬虫还会占用带宽资源、甚至导致网站宕机。
你学会了吗~~~?
点个赞吧!!!
如何百度到自己的网站?
怎样让百度搜索到自己的网站
网页收录问题
如何让我的网站(独立网站或者blog)被百度收录?
百度会收录符合用户搜索体验的网站和网页。
为促使百度Spider更快的发现您的站点,您也可以向我们提交一下您的网站的入口网址。提交地址是:baidu/search/url_submit。您只需提交首页即可,无需提交详细的内容页面。
百度的网页收录机制,只和网页价值有关,与竞价排名等商业因素没有任何关联。
如何让我的网页不被百度收录?
百度严格遵循搜索引擎Robots协议(详细内容,参见robotstxt/)。
您可以写一个Robots文件以限制您的网站全部网页或者部分目录下网页不被百度收录。具体写法,参见:如何撰写Robots文件。
如果您的网站是在被百度收录之后再设置Robots文件,则Robots文件通常在两周内生效,被文件限制的内容,将从百度搜索结果中移除。
如果您的拒绝被收录需求非常急迫,也可以发邮件给[email protected]请求处理。
为什么我的网站内一些不设链接的私密性网页,甚至是需要访问权限的网页,也会被百度收录?
百度Spider对网页的抓取,是通过网页与网页之间的链接实现的。
网页之间的链接类型,除了站点内部的页面链接之外,还有不同网站之间的互相链接。因此,某些网页即便通过您的网站内部链接无法访问到,但是,如果别人的网站上有指向这些页面的链接,那么这些页面还是会被搜索引擎所收录。
百度Spider的访问权限,和普通用户是一样的。因此,普通用户没有权限访问的内容,Spider也没有权限访问。之所以看上去某些访问权限限制内容被百度收录,原因有两点:
A. 该内容在Spider访问时是没有权限限制的,但抓取之后,内容的权限发生了变化
B. 该内容有权限限制,但是由于网站安全漏洞问题,导致用户可以通过某些特殊路径直接访问。而一旦这样的路径被公布在互联网上,则Spider就会循着这条路径抓出受限内容
如果您不希望这些私密性内容被百度收录,一方面可以通过Robots协议加以限制;另一方面,也可以联系[email protected]进行解决。
我的网页为什么会从百度搜索结果中消失?
百度并不允诺所有网页都可从百度搜索到。
如果您的网页长时间无法从百度搜索到,或者突然从百度的搜索结果中消失,可能的原因有:
A. 您的网站所在服务器不稳定,被百度暂时性去除;稳定之后,问题会得到解决
B. 您的网页内容有不符合国家法律和法规规定的地方
C. 您的网页不符合用户的搜索体验
D. 其他技术性问题
以下的说法是错误的和毫无根据的:
A. 参与了百度竞价排名但未续费,会从百度搜索结果中消失
B. 参与了其他搜索引擎的广告项目,会从百度搜索结果中消失
C. 与百度旗下网站产生了竞争,会从百度搜索结果中消失
D. 从百度获得的流量太大,会从百度搜索结果中消失
什么样的网页会被百度认为是没有价值而不被百度收录或者从现有搜索结果中消失?
百度只收录百度认为有价值的网页。任何网......
怎么才能让自己的网站在百度上收到
1.提交白百度搜素引擎
2.在热门的地方留下你的网站链接
以上是为了搜素引擎收录你的网站。
收录之后你在百度搜素你的网址就可以搜索到自己的网站。
当然这个不是目的。目的是让搜索某关键词找到你的网站。
那恭这就需要一个优化的过程了,需要系统的学习了解SEO。.
才可以做好优化,让网站排名靠前。
【SEO交流分享高级群 193884049】
怎样把自己网页挂到百度搜索上
如何让我的网站(独立网站或者blog)被百度收录?
百度会收录符合用户搜索体验的网站和网页。
为促使百度Spider更快的发现您的站点,您也可以向我们提交一下您的网站的入口网址。提交地址是:baidu/...t。您只需提交首页即可,无需提交详细的内容页面。
百度的网页收录机制,只和网页价值有关,与竞价排名等商业因素没有任何关联。
百度Spider对网页的抓取,是通过网页与网页之间的链接实现的。
网页之间的链接类型,除了站点内部的页面链接之外,还有不同网站之间的互相链接。因此,某些网页即便通过您的网站内部链接无法访问到,但是,如果别人的网站上有指向这些页面的链接,那么这些页面还是会被搜索引擎所收录。
百度Spider的访问权限,和普通用户是一样的。因此,普通用户没有权限访问的内容,Spider也没有权限访问。之所以看上去某些访问权限限制内容被百度收录,原因有两点:
A. 该内容在Spider访问时是没有权限限制的,但抓取之后,内容的权限发生了变化
B. 该内容有权限限制,但是由于网站安全漏洞问题,导致用户可以通过某些特殊路径直接访问。而一旦这样的路径被公布在互联网上,则Spider就会循着这条路径抓出受限内容
如果您不希望这些私密性内容被百度收录,一方面可以通过Robots协议加以限制;另一方面,也可以联系[email protected]进行解决。
参考资料:zhidao.baidu/question/59780540
如何在百度上找到自己的网站
等待百度收录吧!收录了就能搜索到了!
其实百度也是很希望收录一些有价值的网页的..
你可以有以下几个方法帮你把网址提交给百度:
方法一:主动向搜索引擎提交自己的网址向百度、Google 等提交网址是不用花钱的,其提交页面分别为:
baidu/search/url_submit
google/intl/zh-CN/add_url
方法二:和同类且已被收录的网站做链接。
方法三:合理、合法的对网站进行SEO(搜索引擎优化)
----------------------------------------------------------------------如果收录慢:
baidu/search/url_submit
到上面多提交几次,最好天天提交..
网站没有被收录,百度有相关规定,参见:网页收录问题
baidu/search/guide
祝你好运!!
怎么在自己的网站上炼接百度搜索
1.首先,我们复制以下链接,打开这个网页baidu/search/url_submit
2.打开后,我们就在URL地址旁输入自己的网址。提交网站只需要提交你网站首页即可。最后点击"提交”
提交成功后,会弹出一个成功窗口。
3.一般情况下过半个月或者一两个月就能在百度上搜索到自己的网站了。为何我会说成一般情况下,这也是有原因的,有可能你用的域名在之前被别人用过,别人用的时候被百度K过。这种情况那就比较麻烦了。具体解决方法,自己在网上搜索,我在这里就不多说了。
4.当你的网站被百度收录了,你可以在百度中这样来查询。输入site:加上你的网址。说明这个网站还没有被百度收录。
5.我们通过此方法查询12306铁路客服中心网站就已经被百度收录了。此查询方法除了用于查看自己的网站被百度等搜索引擎收录没外,还用于查询自己网站被搜索引擎收录的网页有多少。
怎么才能在百度上搜到自己的网站
1、选择一个独一无二的网站名称,然后提前网站,只要收录就可以搜索到。
2、设计你网站的关键词,然后优化到首页,那么就可以通过关键词搜索。
怎样才能让自己的个人网站被百度加入到搜索引擎里啊?
百度免费登录入口:baidu/search/url_submit
你输入之后就可以登记了,大约审核时间要一个月啊.
因为是免费,所以你的网站做的不好就不一定会收录.我以前做的一个网站收录了.
红旗给我哦!呵呵。我可以告诉你很多其他网站的收录办法.
互联网站内
搜索帮助竞价排名网站登录百度首页
网站登录
?·一个免费登录网站只需提交一页(首页),百度搜索引擎会自动收录网页。
?·符合相关标准您提交的网址,会在1个月内按百度搜索引擎收录标准被处理。
?·百度不保证一定能收录您提交的网站。
竞价排名
?·百度搜索引擎竞价排名服务可将您的网站排在百度搜索结果前列。
? 同时出现在各大搜索引擎的搜索结果中;
? ·搜索关键词和网站描述任您写;
·按您网站实际被点击量计费;
·启用服务预付金超低;
·提供详细访问统计报告;
·服务热线:(010)82618800。
?免费搜索代码
?·百度向广大用户开放中文搜索代码,完全免费,正式授权。
·只要加上百度搜索代码,您的网站就可获得同百度一样强大的搜索功能!
怎么让自己的网站在百度第一页
一是做推广(掏钱),二是做网站时的程序利于百度排名搜索(也得掏钱)+辛苦(日常维护)
怎么能让自己的网站在百度上面搜的到
有4种方法可以起效:
1、修改一下网站标题,在网站内添加一部分厂键词。2、通过百度推广,直接在百度推广后台添加关键词。3、在论坛上或者博客上添加该网站的链接,增加百度蜘蛛到访机率。4、跟其他网站互换链接。
怎么让自己的网站在百度变为官网?
现在这个官网标志是可以申请的,申请方法百度官方有专业的解释,只需要按照他们的步骤就可以进行申请了。请查看trust.baidu/vstar/official/intro
亚马逊网站robots协议解读
在分析亚马逊的robots协议之前我们先应该明确的是网络爬虫会带来的风险和问题,这样才能更好的理解亚马逊为什么禁止网络爬虫访问这些内容,如果访问的话会造成什么危害。
最简单的robots.txt只有两个规则:
User-agent:指定对哪些爬虫生效
Disallow:指定要屏蔽的网址
接下来以亚马逊的robots协议为例,分析其内容。
首先,先来分析亚马逊对于网络爬虫的限制。是否有有“特殊权限”的爬虫?
爬虫抓取时会声明自己的身份,这就是User-agent,就是http协议里的User-agent。robots.txt利用User-agent来区分各个引擎的爬虫。
*代表该内容下面Disallow的部分是禁止所有爬虫爬取的。因此robots协议中提及的“禁区”是针对于所有网络爬虫的,没有单独提及的爬虫。
与之对应来看,我们会发现淘宝的robots协议中明确禁止百度的网络爬虫爬取。而百度的一些网站是允许百度爬虫任意爬取的。
接下来分析亚马逊向网络爬虫屏蔽的内容有哪些。
Disallow 行列出的是要拦截的网页,以正斜线 (/) 开头,可以列出特定的网址或模式。要屏蔽整个网站,使用正斜线即可;要屏蔽某一目录以及其中的所有内容,在目录名后添加正斜线;要屏蔽某个具体的网页,就指出这个网页。
下面代表wishlist中允许访问的目录universal*、 vendor-button* 、get-button*
仔细观察禁止访问,发现了一些“看得懂”的内容:
其中禁止了网络爬虫模仿用户的行为进行诸如给商品评分、发送电子邮件、分享到twitter的行为,这是十分合理的。试想若是不禁止网络爬虫模仿用户的行为,不仅可能会给网站的性能造成影响,可能会出现爬虫造成的恶意评分,以亚马逊名义发送内容无法保证的邮件的事件的发生。这样的行为会对亚马逊的交易环境和形象产生影响。
同时禁止爬虫访问历史、物流信息的请求可以避免用户的交易信息泄露造成麻烦。
下面禁止访问的内容诸如登陆、退出账户,身份,订单地址、详细信息、历史、修改、记录,推荐浏览,浏览量,选择支付方式,选择物流,物流查询,购物车等。
其中的很多禁止爬取的都是已登录的账户才可以访问的内容,若是不禁止网络爬虫进行访问,则可能会出现网络爬虫模拟用户操作进行操作的现象发生,造成用户隐私泄露。
禁止爬虫爬取浏览量,浏览内容,推荐浏览等内容是亚马逊防止信息被爬取后被挪作他用牟利,比如“复制网站”的情况发生。
robots协议是什么?
Robots是一个英文单词,对英语比较懂的朋友相信都知道,Robots的中文意思是机器人。而我们通常提到的主要是Robots协议,Robots.txt被称之为机器人或Robots协议(也称为爬虫协议、机器人协议等)它的全称是“网络爬虫排除标准”
英文“Robots Exclusion Protocol”这也是搜索引擎的国际默认公约。我们网站可以通过Robots协议从而告诉搜索引擎的蜘蛛哪些页面可以抓取,哪些页面不能抓取。Robots协议的本质是网站和搜索引擎爬虫的沟通方式,是用来指引搜索引擎更好地抓取网站里的内容。
比如说,一个搜索蜘蛛访问一个网站时,它第一个首先检查的文件就是该网站的根目录里有没有robots.txt文件。
如果有,蜘蛛就会按照该文件中的条件代码来确定能访问什么页面或内容;如果没有协议文件的不存在,所有的搜索蜘蛛将能够访问网站上所有没有被协议限制的内容页面。
而百度官方上的建议是:仅当您的网站包含不希望被搜索引擎收录的内容时,才需要使用robots.txt文件进行屏蔽。而如果您希望搜索引擎收录网站上所有内容,请勿建立robots.txt文件。
网站的Robots规则如何写才正确?
网站的Robots规则如何写才正确?
Robots协议用来告知搜索引擎哪些页面能被抓取,哪些页面不能被抓取;可以屏蔽一些网站中比较大的文件,如:图片,音乐,视频等,节省服务器带宽;可以屏蔽站点的一些死链接。方便搜索引擎抓取网站内容;设置网站地图连接,方便引导蜘蛛爬取页面。下面是Robots文件写法及文件用法。
一、文件写法
User-agent: * 这里的*代表的所有的搜索引擎种类,*是一个通配符
Disallow: /admin/ 这里定义是禁止爬寻admin目录下面的目录
Disallow: /require/ 这里定义是禁止爬寻require目录下面的目录
Disallow: /ABC/ 这里定义是禁止爬寻ABC目录下面的目录
Disallow: /cgi-bin/*.htm 禁止访问/cgi-bin/目录下的所有以".htm"为后缀的URL(包含子目录)。
Disallow: /*?* 禁止访问网站中所有包含问号 (?) 的网址
Disallow: /.jpg$ 禁止抓取网页所有的。jpg格式的图片
Disallow:/ab/adc.html 禁止爬取ab文件夹下面的adc.html文件。
Allow: /cgi-bin/ 这里定义是允许爬寻cgi-bin目录下面的目录
Allow: /tmp 这里定义是允许爬寻tmp的整个目录
Allow: .htm$ 仅允许访问以".htm"为后缀的URL。
Allow: .gif$ 允许抓取网页和gif格式图片
Sitemap: 网站地图 告诉爬虫这个页面是网站地图
二、文件用法
例1. 禁止所有搜索引擎访问网站的任何部分
User-agent: *
Disallow: /
实例分析:淘宝网的 Robots.txt文件
User-agent: Baiduspider
Disallow: /
User-agent: baiduspider
Disallow: /
很显然淘宝不允许百度的机器人访问其网站下其所有的目录。
例2. 允许所有的robot访问 (或者也可以建一个空文件 “/robots.txt” file)
User-agent: *
Allow: /
例3. 禁止某个搜索引擎的访问
User-agent: BadBot
Disallow: /
例4. 允许某个搜索引擎的访问
User-agent: Baiduspider
allow:/
例5.一个简单例子
在这个例子中,该网站有三个目录对搜索引擎的访问做了限制,即搜索引擎不会访问这三个目录。
需要注意的是对每一个目录必须分开声明,而不要写成 “Disallow: /cgi-bin/ /tmp/”。
User-agent:后的*具有特殊的含义,代表“any robot”,所以在该文件中不能有“Disallow: /tmp/*” or “Disallow:*.gif”这样的记录出现。
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /~joe/
Robot特殊参数:
允许 Googlebot:
如果您要拦截除Googlebot以外的所有漫游器不能访问您的网页,可以使用下列语法:
User-agent:
Disallow: /
User-agent: Googlebot
Disallow:
Googlebot 跟随指向它自己的行,而不是指向所有漫游器的行。
“Allow”扩展名:
Googlebot 可识别称为“Allow”的 robots.txt 标准扩展名。其他搜索引擎的漫游器可能无法识别此扩展名,因此请使用您感兴趣的其他搜索引擎进行查找。“Allow”行的作用原理完全与“Disallow”行一样。只需列出您要允许的目录或页面即可。
您也可以同时使用“Disallow”和“Allow”。例如,要拦截子目录中某个页面之外的其他所有页面,可以使用下列条目:
User-agent: Googlebot
Allow: /folder1/myfile.html
Disallow: /folder1/
这些条目将拦截 folder1 目录内除 myfile.html 之外的所有页面。
如果您要拦截 Googlebot 并允许 Google 的另一个漫游器(如 Googlebot-Mobile),可使用”Allow”规则允许该漫游器的访问。例如:
User-agent: Googlebot
Disallow: /
User-agent: Googlebot-Mobile
Allow:
使用 * 号匹配字符序列:
您可使用星号 (*) 来匹配字符序列。例如,要拦截对所有以 private 开头的子目录的访问,可使用下列条目: User-Agent: Googlebot
Disallow: /private*/
要拦截对所有包含问号 (?) 的网址的访问,可使用下列条目:
User-agent: *
Disallow: /*?*
使用 $ 匹配网址的结束字符
您可使用 $字符指定与网址的结束字符进行匹配。例如,要拦截以 .asp 结尾的网址,可使用下列条目: User-agent: Googlebot
Disallow: /*.asp$
您可将此模式匹配与 Allow 指令配合使用。例如,如果 ? 表示一个会话 ID,您可排除所有包含该 ID 的网址,确保 Googlebot 不会抓取重复的网页。但是,以 ? 结尾的网址可能是您要包含的网页版本。在此情况下,可对 robots.txt 文件进行如下设置:
User-agent: *
Allow: /*?$
Disallow: /*?
Disallow: / *?
一行将拦截包含 ? 的网址(具体而言,它将拦截所有以您的域名开头、后接任意字符串,然后是问号 (?),而后又是任意字符串的网址)。
Allow: /*?$ 一行将允许包含任何以 ? 结尾的网址(具体而言,它将允许包含所有以您的域名开头、后接任意字符串,然后是问号 (?),问号之后没有任何字符的网址)。
Robots协议举例
禁止所有机器人访问User-agent:*Disallow:/
允许所有机器人访问User-agent:*Disallow:
禁止特定机器人访问User-agent:BadBotDisallow:/
允许特定机器人访问User-agent:GoodBotDisallow:
禁止访问特定目录User-agent:*Disallow:/images/
仅允许访问特定目录User-agent:*Allow:/images/Disallow:/
禁止访问特定文件User-agent:*Disallow:/*.html$
仅允许访问特定文件User-agent:*Allow:/*.html$Disallow:/
尽管robots.txt已经存在很多年了,但是各大搜索引擎对它的解读都有细微差别。Google与百度都分别在自己的站长工具中提供了robots工具。如果您编写了robots.txt文件,建议您在这两个工具中都进行测试,因为这两者的解析实现确实有细微差别。
更多青晟网络资讯请登录官方网站:或者
robots协议
百度百科: robots协议也叫robots.txt (统一小写)是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不应被搜索引擎的漫游器获取的,哪些是可以被漫游器获取的。因为一些系统中的URL是大小写敏感的,所以robots.txt的文件名应统一为小写。robots.txt应放置于网站的根目录下。如果想单独定义搜索引擎的漫游器访问子目录时的行为,那么可以将自定的设置合并到根目录下的robots.txt,或者使用robots元数据(Metadata,又称元数据)。
简单来说即:robots协议是一个君子协议,是网站所有者编写的,用来告诉搜索引擎该网站下的哪些内容可以爬取、收录,哪些内容不可以爬取和收录。
robots协议是通用共识,一般来说,大型的、有资质的搜索引擎都会遵守,robots协议是网站所有者不想要公开在网上的内容,是为了保障个人隐私,但是robots协议里规定的内容是可以获取的,只是大家默认遵守该协议,不获取协议内的内容。
robots协议是一个纯文本文件,通常是搜索引擎第一个爬取的文件,搜索引擎该文件了解该网站哪些是所有者不想被收录的内容,进行有选择的爬取和收录。
robots协议命名为robots.txt,放在网站的根目录下。
简单的robots协议如下:
其中 User-agent 代表要遵守该协议的搜索引擎,如果是通配符‘*’,代表所有搜索引擎都要遵守该协议。
Disallow 代表不允许搜索引擎访问的内容, /*?* 代表不允许搜索引擎访问所有带?的路径内容, / 代表不允许搜索引擎访问该网站所有内容。
实际环境中,网站所有者依据个人情况编写该文件,robots协议的编写会影响网站的收录情况和搜索引擎的效率。