百度百科: 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协议的编写会影响网站的收录情况和搜索引擎的效率。
在分析亚马逊的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协议是网站出于安全和隐私考虑,防止搜索引擎抓取敏感信息而设置的。搜索引擎的原理是通过一种爬虫spider程序,自动搜集互联网上的网页并获取相关信息。而鉴于网络安全与隐私的考虑,每个网站都会设置自己的Robots协议,来明示搜索引擎,哪些内容是愿意和允许被搜索引擎收录的,哪些则不允许。搜索引擎则会按照Robots协议给予的权限进行抓取。
Robots协议代表了一种契约精神,互联网企业只有遵守这一规则,才能保证网站及用户的隐私数据不被侵犯。违背Robots协议将带来巨大安全隐忧——此前,曾经发生过这样一个真实的案例:国内某公司员工郭某给别人发了封求职的电子邮件,该Email存储在某邮件服务公司的服务器上。因为该网站没有设置robots协议,导致该Email被搜索引擎抓取并被网民搜索到,为郭某的工作生活带来极大困扰。
如今,在中国国内互联网行业,正规的大型企业也都将Robots协议当做一项行业标准,国内使用Robots协议最典型的案例,就是淘宝网拒绝百度搜索、京东拒绝一淘搜索。不过,绝大多数中小网站都需要依靠搜索引擎来增加流量,因此通常并不排斥搜索引擎,也很少使用Robots协议。
北京市汉卓律师事务所首席律师赵虎表示,Robots协议是维护互联网世界隐私安全的重要规则。如果这种规则被破坏,对整个行业就是灭顶之灾。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)