网络爬虫的应用场景多种多样,典型场景之一是网络上搜索引擎的后台爬虫,包括Baidu、Google、Bing等等。近来的一些关于网络爬虫不合理使用的事件又引起了大家关注,一个关键的问题是网络爬虫能抓取什么数据,也就是网络爬虫抓取边界(我自己创造的词)的界定问题。本文对当前一些观点进行归纳总结,并从法律和技术两个角度对数据抓取权限、网站访问方式和数据使用三个方面做了一些自己的思考,只是作为探讨。
1、数据抓取权限
从这个方面看,爬虫可以抓取具有访问权限的数据,这应该是其边界之一。访问权限可以从数据是否公开、页面是否许可来判断。爬虫对不公开的数据当然不具备抓取权限,但是公开或不公开的判断依据并不容易界定,因为公开是有一定的范围含义。
典型的案例是,“车来了”利用网络爬虫技术抓取“酷米客”公司服务器的公交车行驶信息、到站时间等实时数据,此类数据只是在特定的APP中由特定人群使用,属于不公开数据。未公开的数据,爬虫程序就无权获取,可能会被认定为非法获取计算机信息系统数据罪。
在《中华人民共和国刑法》第二百八十五条提到非法获取计算机信息系统数据罪,是指侵入国家事务、国防建设、尖端科学技术领域以外的计算机信息系统或者采用其他技术手段,获取该计算机信息系统中存储、处理或者传输的数据。这里,“侵入”是指行为人采用破解密码、盗取密码、强行突破安全工具等方法,在没有得到许可时违背计算机信息系统控制人或所有人意愿进入其无权进入的计算机信息系统中,常见的方式是利用他人网上认证信息进入计算机信息系统。典型的方式是破解App的加密算法或网络交互协议、调用规则和参数,从而爬虫突破权限许可获取数据。
抓取权限的另一个界定方法是Robots协议,如果网站有设置Robots.txt文件,则爬虫应当依据该文件决定某个特定的URL是否许可。该文件的具体说明见文后面的链接。
2、爬虫的访问方式
这是指爬虫访问服务器的方式,其边界是爬虫是否对服务器的正常运行造成影响。如果网络爬虫在短时间内频繁访问Web服务器,通常是采用分布式、并行抓取等技术,从而导致服务器不能正常运行,其客户访问变得很慢甚至无法响应。如果突破这个边界,可能会涉及到破坏计算机信息系统罪,目前也有一些爬虫抓取被法院按这种类型处理。
与访问方式有关的另一个边界仍然是Robots协议,在该协议中定义了抓取延时、抓取时间段等参数,如果爬虫没有遵守这些约定,则可能导致服务器不能正常运行。
3、数据使用
数据使用边界是指抓取的数据是否用于商业用途、是否涉及版权限定。以前发生的例子是,百度公司通过爬虫技术从大众点评网等网站获取信息,并将抓取的信息直接提供给网络用户(展示),最终被上海知识产权法院认定为不正当竞争行为,虽然百度公司的搜索引擎抓取涉案信息并不违反Robots协议。但是将将数据用于商业用途或展示传播,很可能会涉及到不正当竞争,属于利益冲突。
总的看来,互联网公开资源爬取并不违法,网络爬虫作为互联网大数据采集的技术手段,本身具有中立性。而抓取没有权限、没有授权的数据,对服务器正常运行产生影响,以及抓取后的数据用于商业用途、未经授权公开展示,应该是突破了爬虫抓取的边界。