
我国目前并未出台专门针对网络爬虫技术的法律规范,但在司法实践中,相关判决已屡见不鲜,K哥特设了“K哥爬虫普法”专栏,本栏目通过对真实案例的分析,旨在提高广大爬虫工程师的法律意识,知晓如何合法合规利用爬虫技术,警钟长鸣,做一个守法、护法、有原则的技术人员。
《互联网搜索引擎服务自律公约》(简称《自律公约》)系在工业和信息化部的指导下,由中国互联网协会牵头组织十二家互联网企业于2012年11月1日在北京举行签订,参与企业包括:百度、即刻搜索、盘古搜索、奇虎 360、盛大文学、搜狗、腾讯、网易、新浪、宜搜、易查无限、中搜等。该公约第七条第一款规定:遵循国际通行的行业惯例与商业规则,遵守机器人协议(robots 协议)。第八条规定:互联网所有者设置机器人协议应遵循公平、开放和促进信息自由流动的原则,限制搜索引擎抓取应有行业公认合理的正当理由,不利用机器人协议进行不正当竞争行为,积极营造鼓励创新、公平公正的良性竞争环境。
一审受理:2013年1月28日、二审终判:2020年7月3日,为期时长八年!
上诉人:
北京百度网讯科技有限公司(简称百度网讯公司)
百度在线网络技术(北京)有限公司(简称百度在线公司)
被上诉人:
北京奇虎科技有限公司(简称奇虎公司,360)
百度网讯公司和百度在线公司称,其相关网站均通过 robots 协议设置了访问限制,其 robots 协议采取的是“白名单”制度,即只有该文件中明确列举的搜索引擎的网络机器人才能抓取百度旗下相关网站的内容,未列举的其他搜索引擎均不能抓取。2012年8月16日,360 搜索引擎上线运营,但百度网讯公司和百度在线公司的相关网站的 robots 协议均未将 360 搜索引擎列入其“白名单”中。百度方面认为,360 搜索在未获得百度公司允许的情况下,违反业内公认的 robots 协议,抓取百度旗下百度知道、百度百科、百度贴吧等网站的内容,已经构成了不正当竞争,并向奇虎索赔1亿元。
百度方面称,奇虎公司利用 360 搜索引擎等,强行抓取网民的浏览数据和信息到搜索服务器,完全无视 robots 协议,这一做法目前已经导致大量企业内网信息被泄露。2012年年底,百度工程师通过一个名为“鬼节捉鬼”的测试,证明了 360 浏览器存在私自上传“孤岛页面”等隐私内容到 360 搜索的行为。
360 方面则认为,360 搜索索引这些内容页面并不涉嫌侵犯百度的权益,实际上还为百度带来了大量的用户和流量,百度应该感谢 360。
百度公司在本案中指控奇虎公司的 360 搜索存在以下不正当竞争行为:
无视百度公司设置的 robots 协议,擅自抓取、复制百度网站相关页面并生成网页快照复制件存储于奇虎公司自身服务器中;
在明确得知百度公司拒绝其抓取百度网站内容后,仍然继续抓取、复制百度网站内容并生成网页快照复制件存储于奇虎公司自身服务器中;
在网络用户点击 360 搜索的搜索结果页中来自于百度网站的链接的标题时,直接向网络用户提供其复制存储在自身服务器上的“网页快照”等,上述行为构成不正当竞争。
奇虎公司也认为百度网讯公司、百度在线公司存在不正当竞争行为,奇虎公司提交的(2013)京方圆内经证字第00364号公证书、(2013)京方圆内经证字第06932号公证书、(2013)京方圆内经证字第11476号公证书及(2015)京方圆内经证字第00228号公证书显示,自2012年8月以来,百度网讯公司、百度在线公司一直在其相关网站的 robots 协议中排除 360 搜索引擎。百度网讯公司、百度在线公司对上述事实予以认可,但认为 robots 协议是国际通行的行业惯例和商业道德,允许和/或限制全部和/或特定搜索引擎抓取是 robots 协议的应有之义,百度 robots 协议的“白名单”制度仅允许特定的几家搜索引擎抓取,对除此之外的所有其他搜索引擎均不允许抓取,不存在不正当竞争行为。
奇虎公司提交的(2013)京方圆内经证字第05960号公证书显示,使用 360 搜索引擎搜索到百度的相关网站后,在点击访问时,会出现访问被阻断并跳转到百度搜索引擎网站的现象。奇虎公司认为百度采取的相关技术措施会导致网络用户在使用 360 搜索引擎时的用户体验度下降。百度网讯公司、百度在线公司对上述事实予以认可,但认为这是针对奇虎公司不遵守百度 robots 协议而采取的自力救济措施。
百度网讯公司、百度在线公司通过设置 robots 协议的方式限制 360 搜索引擎对其相关网页的抓取与 robots 协议的初衷背道而驰。robots 协议的初衷是为了指引搜索引擎的网络机器人更有效的抓取对网络用户有用的信息,从而更好的促进信息共享,而百度网讯公司、百度在线公司的行为会造成网络用户通过 360 搜索引擎无法得到完整的搜索结果,人为设置了信息流动的障碍。需要强调的是,360 搜索引擎属于通用搜索引擎,而通用搜索引擎的网络机器人进入一个对公众开放的网站抓取信息通常并不会损害网站的利益,反而有利于其宣传推广。事实上,目前绝大多数网站对通用搜索引擎持开放、欢迎的态度,因为如果被搜索到,就意味着更多的网页浏览量以及由此而带来的潜在用户。也正是由于这个原因,绝大多数网站非但不会使用 robots 协议禁止通用搜索引擎抓取,反而希望能够更快的被搜索出来并展示在搜索结果中较为前列的位置,这也促成了搜索引擎竞价排名等商业模式的产生。而百度网讯公司、百度在线公司却在允许国内外主流搜索引擎抓取其网页内容的情况下,限制 360 搜索引擎抓取,其行为显然有悖于robots协议的初衷。
就我国目前互联网搜索行业的发展现状来看,百度搜索引擎在市场份额上占据绝对优势,而 360 搜索所占的市场份额较小。在这种情况下,百度网讯公司、百度在线公司通过设置 robots 协议的方式限制 360 搜索引擎对其相关网站内容的抓取,会导致网络用户在使用 360 搜索引擎时无法及时获取所需信息,转而使用百度搜索引擎,这不仅会降低 360 搜索的用户满意度,损害奇虎公司的合法权益,也会在客观上增强百度搜索引擎的市场优势地位。不难想象,如果国内各主要网站都针对某一特定的搜索引擎以设置 robots 协议的方式限制其抓取,这一搜索引擎必然无法在市场上立足。事实上,包括互联网工程任务组在内的一些重要的国际组织拒绝采纳 robots 协议作为行业标准的原因就是考虑到少数行业巨头可能会利用 robots 协议本身的漏洞而将其作为垄断的工具。因此,百度网讯公司、百度在线公司以设置 robots 协议的方式限制 360 搜索引擎抓取的动机难谓正当。
百度网讯公司、百度在线公司还主张其设置 robots 协议是针对奇虎公司的侵权行为而采取的自力救济措施,对此,如果网站所有者认为搜索引擎的抓取侵犯了其某项具体的民事权利,应当通过相应的法律途径寻求救济,而不应以限制互联网信息流动的方式进行所谓的自力救济,故百度网讯公司、百度在线公司的主张不能成立。
**法院认为:**百度在线公司、百度网讯公司在缺乏合理、正当理由的情况下,以对网络搜索引擎经营主体区别对待的方式,限制奇虎公司的 360 搜索引擎抓取其相关网站网页内容,影响该通用搜索引擎的正常运行,损害了奇虎公司的合法权益和相关消费者的利益,妨碍了正常的互联网竞争秩序,违反公平竞争原则,且违反诚实信用原则和公认的商业道德而具有不正当性,不制止不足以维护公平竞争的秩序,故构成反不正当竞争法第二条规定所指的不正当竞争行为。
根据第2668号判决:奇虎公司的搜索引擎直接将百度公司相关网页的链接更换为该网页的网页快照链接的行为明显已经超出了使用网页快照的合理范围,故对于百度公司关于奇虎公司将百度公司网站的搜索结果直接以网页快照的方式向网络用户提供的行为不当的主张予以支持。奇虎公司赔偿百度公司经济损失五十万元、合理开支二十万元。
百度网讯公司、百度在线公司立即停止涉案不正当竞争行为;
百度网讯公司、百度在线公司于判决生效之日起十日内连带赔偿奇虎公司经济损失二十万元;
百度网讯公司、百度在线公司于判决生效之日起三十日内在三家网站(www.360.cn,www.sina.com,www.sohu.com)首页的显著位置连续十日刊登声明,就其涉案不正当竞争行为为奇虎公司消除影响;
二审案件受理费四千三百元,由百度网讯公司、百度在线公司负担;
驳回奇虎公司的其他诉讼请求。
https://wenshu.court.gov.cn/website/wenshu/181107ANFZ0BXSK4/index.html?docId=2hBPLhgZtbwA23kIOPykUj0dG01aCOIIPkk1AZnSayoXsuzZo9x8i5/dgBYosE2gc2cTGVpSTHaQan7hFsr1Zwgx9Ozn/Ie9t4Hw4I001PFz+vTgpLDCjyH0Qfy2ffn6
robots 协议也称爬虫协议、爬虫规则等,是指网站可建立一个 robots.txt 文件来告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,而搜索引擎则通过读取 robots.txt 文件来识别这个页面是否允许被抓取。但是,这个 robots 协议不是防火墙,也没有强制执行力,搜索引擎完全可以忽视 robots.txt 文件去抓取网页的快照**。** 如果想单独定义搜索引擎的漫游器访问子目录时的行为,那么可以将自定的设置合并到根目录下的 robots.txt,或者使用 robots 元数据(Metadata,又称元数据)。
robots 协议并不是一个规范,而只是约定俗成的,所以并不能保证网站的隐私,例如商品上挂个“非卖品易碎勿碰”,是告诉顾客不要碰这件商品,但无法阻止顾客拿起来看的行为,未损坏也并不违法,故俗称 “君子协议”,并不具备法律效应。robots 协议的初衷并不是限制搜索引擎的网络机器人抓取信息、阻碍互联网信息流动,而是通过善意的指引使搜索引擎的网络机器人能够更有效的抓取对网络用户有用的信息,从而更好的促进信息共享。
结合本案,根据反不正当竞争法第二条第一款、第二款规定:“经营者在市场交易中,应当遵循自愿、平等、公平、诚实信用的原则,遵守公认的商业道德。本法所称的不正当竞争,是指经营者违反本法规定,损害其他经营者的合法权益,扰乱社会经济秩序的行为。”在网络不正当竞争纠纷中,百度网讯公司、百度在线公司通过信息网络实施反不正当竞争法未作出特别规定的竞争行为,足以损害奇虎公司合法权益、扰乱正常的市场经营秩序,违背公平竞争原则,且违反诚实信用原则和公认的商业道德的,可以认定为反不正当竞争法第二条规定的不正当竞争行为。
robots 协议有效性的认定,在适用范围上可以大致分为两类:一类是如本案在搜索引擎范围的适用,当 robots 协议适用搜索引擎领域时,应遵守《互联网搜索引擎服务自律公约》规定的开放、平等、写作、分享的互联网精神,设置限制时应具有行业公认合理正当的理由,否则 robots 协议并不当然有效;另一类为在非搜索引擎范围的适用,此时《互联网搜索引擎服务自律公约》则不宜再适用于整个互联网行业,对于常规爬虫行为,在法律上并未规定为违法行为或禁止使用的行为。
如今,在中国国内互联网行业,正规的大型企业也都将 robots 协议当做一项行业标准,国内使用 robots 协议最典型的案例,就是淘宝网拒绝百度搜索(2008年9月8日)、京东商城拒绝一淘网搜索(2011年10月25日),相关司法案例也屡见不鲜:百度诉 360 案、腾讯诉字节跳动案、大众点评诉百度案等等。不过,绝大多数中小网站都需要依靠搜索引擎来增加流量,因此通常并不排斥搜索引擎,也很少使用 robots 协议。
爬虫工程师们也需要注意的一点是,基于现行的惯例,未被 robots 协议排除的数据属于互联网上的公开数据,任何人都有权访问和收集。因而,遵循 robots 协议的前提下公开爬取数据原则上既不会侵犯信息提供者的权利,也不会构成不正当竞争。反之,如果违反 robots 协议,强行爬取他人的数据,则可能被认定为违反诚实信用和商业道德,构成不正当竞争。
最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总
尝试通过SSL连接到ImgurAPI时出现错误。这是代码和错误:API_URI=URI.parse('https://api.imgur.com')API_PUBLIC_KEY='Client-ID--'ENDPOINTS={:image=>'/3/image',:gallery=>'/3/gallery'}#Public:Uploadanimage##args-Theimagepathfortheimagetoupload#defupload(image_path)http=Net::HTTP.new(API_URI.host)http.use_ssl=truehttp.verify
一、什么是MQTT协议MessageQueuingTelemetryTransport:消息队列遥测传输协议。是一种基于客户端-服务端的发布/订阅模式。与HTTP一样,基于TCP/IP协议之上的通讯协议,提供有序、无损、双向连接,由IBM(蓝色巨人)发布。原理:(1)MQTT协议身份和消息格式有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。MQTT传输的消息分为:主题(Topic)和负载(payload)两部分Topic,可以理解为消息的类型,订阅者订阅(Su
一、RIPV2协议简介 RIP(RoutingInformationProtocol)路由协议是一种相对古老,在小型以及同介质网络中得到了广泛应用的一种路由协议。RIP采用距离向量算法,是一种距离向量协议。RIP-1是有类别路由协议(ClassfulRoutingProtocol),它只支持以广播方式发布协议报文。RIP-1的协议报文无法携带掩码信息,它只能识别A、B、C类这样的自然网段的路由,因此RIP-1不支持非连续子网(DiscontiguousSubnet)。RIP-2是一种无类别路由协议(ClasslessRoutingProtocol),支持路由标记,在路由策略中可根据路由标记对
前言最近做了一个720全景工具,有很多开发人员觉得全景图很简单,github上也有很多全景图的源码,但当实际使用的时候会发现有很多坑,还达不到真正意义上的商用级别,下面我会把我们开发这个项目遇到的一些坑和解决方案都梳理处理,已经发布到线上https://720.h5ds.com/工具简介:H5-720全景(简称H5-720)是一款基于threejs+h5的全景图制作工具,用户可上传全景图片制作全景图,H5-720可以预设按钮,添加元素,添加热点,添加特效,添加多种交互方式,一键开启重力感应,VR眼镜支持,PC端制作后可以适配多端查看。什么是全景图?在这之前,简单的介绍下全景图,可以360度无死
前言程序使用一段时间后会遇到HTTPError403:Forbidden错误。因为在短时间内直接使用Get获取大量数据,会被服务器认为在对它进行攻击,所以拒绝我们的请求,自动把电脑IP封了。解决这个问题有两种方法。一是将请求加以包装,变成浏览器请求模式,而不再是“赤裸裸”的请求。但有时服务器是根据同一IP的请求频率来判断的,即使伪装成不同浏览器。由于是同一IP访问,还是会被封。所以就有了第二种方法,就是降低请求频率。具体说来也有两种方法。一种是在每次请求时暂停短暂时间,从而降低请求频率。第二种是使用不同的IP进行访问。显然第一种方法不是最佳选择。因为我们并不希望下载太慢,尤其是在请求次数很多时
我有一个包含多个子域的网站,我希望命名的子域robots.txt与www不同。我尝试使用.htaccess,但FastCGI没有查看它。所以,我试图设置路由,但似乎你不能直接重写,因为每条路由都需要一个Controller:map.connect'/robots.txt',:controller=>?,:path=>'/robots.www.txt',:conditions=>{:subdomain=>'www'}map.connect'/robots.txt',:controller=>?,:path=>'/robots.club.txt'解决这个问题的最佳方法是什么?(我正在为子域
我尝试执行此页面中显示的ruby示例:http://tomayko.com/writings/unicorn-is-unix但我得到的只是echo.rb:9:in`bind':Addressfamilynotsupportedbyprotocolfamily-bind(2)(Errno::EAFNOSUPPORT)fromecho.rb:9:in`'有什么想法吗? 最佳答案 我遇到了同样的问题。只需将localhost更改为0.0.0.0:address=Socket.pack_sockaddr_in(4242,'0.0.0.0')
最近我使用了一个由单个开发人员创建的不错的gem,它托管在Github上。在我的工作中,我不得不对它进行一些实质性的修改,添加一些改进。有些是特定于项目的,有些是特定于gem的,还有一些是独立的改进。对于特定于gem的改进(例如,错误修复),我fork了存储库,应用了修复,并提出了拉取请求。然后,然而,我注意到独立的改进有点属于原始gem的并行、持续的分支类别。更清楚地说,你以前见过它;我重写了原始gem的View以使用TwitterBootstrap框架。因此,我也将它推送到了Github,但是,当然,我没有提出拉取请求——相反,我更新了README以解释不同之处,并感谢gem的原作
我关注了很多关于这个问题的帖子,但没有一个对我有帮助。我正在尝试使用最简单的irb命令进行连接:require'open-uri'open('https://aristo4stu3.bgu.ac.il')奇怪的是,对于我尝试过的任何其他httpsuri,它都工作正常(即https://google.com)。出于调试目的,我什至尝试使用以下方法禁用SSL验证:OpenSSL::SSL::VERIFY_PEER=OpenSSL::SSL::VERIFY_NONE这似乎也没有帮助。我的设置是(在AWS上):$rvm-vrvm1.21.3(stable)byWayneE.Seguin,Mic