【内容提要】 本文通过分析近年来的诸多网络爬虫技术的民事权益纠纷和刑事案件,首先从网络爬虫的基本概念与具体应用场景入手简单介绍爬虫技术的基本内容,接着通过近年来的爬虫案例分析其中法律内涵,然后讲解反爬虫技术的使用方式,最后进一步探究爬虫的法律规制,进行总结和意见。
【关键词】:网络爬虫、爬虫协议、法律规制、民事权益
一、爬虫概念与普遍应用场景
作为一种计算机技术,在法律上具有中立性的网络爬虫技术——也可以叫做网络蜘蛛、网络机器人或者网页追逐者——是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。
网络爬虫技术的中立性体现在它是一把双刃剑:一方面网络爬虫技术虽然能够帮助人们进行搜索数据处理收集、定向抓取数据信息、对金融机构进行合理的风控分析;然而另一方面近年来有大量不法分子利用网络爬虫技术钻漏洞进行不正当竞争类,更有甚者利用爬虫技术侵犯他人知识产权类案件,侵犯公民个人信息,大大侵害人们的计算机信息系统安全。
因此针对近年来的诸多网络爬虫技术的民事权益纠纷和刑事案件,当务之急是分析网络爬虫行为的法律属性,探究爬虫行为的合法性,进而深入完善网络爬虫技术的法律法规。本文从网络爬虫的基本概念与具体应用场景入手简单介绍爬虫技术的基本内容,接着通过近年来的爬虫案例分析其中法律内涵,讲解反爬虫技术的使用方式,最后进一步探究爬虫的法律规制,进行总结和意见。
爬虫技术可以完成读取和收集网络信息,网络爬虫的应用场景目前已经有很多,它能够便捷、高效、全面地自动利用代码实现功能,有时候爬虫也能通过解析代码访问到只有爬虫才能访问而人工无法访问的内容。最早的爬虫程序是1994年休斯敦大学的Eichmann开发的RBSE。著名的谷歌公司使用的Google Crawler是斯坦福大学生Brin和Page在1998年用Python开发的。
它的普遍应用场景就表现为:其一,搜索引擎抓取网页信息,每当网站的页面更新时,爬虫就会将新更新的内容搬运回自己的网站,而我们看到的搜索结果,就是经过爬虫技术的大量信息搜索量的筛选和排名呈现出来的结果;其二,爬取需要数据进行统计,新的应用软件在新建立的过程中通过爬虫爬取其他已经有用户基础的应用已经获取的用户信息来分析和筛查;其三,出行旅游订票软件通过爬虫技术抢票,运用机器比人力的快捷来购票,产生大量黄牛产业;其四,整合多个软件的用户数据信息进行商业规划和定价,比如各大电商的降价盈利活动,股票交易等等;其五,爬虫技术可以爬取个人信息进行风投;其六建立数字图书馆。网络爬虫这一技术有强大的实用性和便捷性,它在打破了信息壁垒的同时给商业机构带来了巨大的商业利益,给个人用户带来了巨大的方便和发展机遇。
二、现阶段爬虫技术类型总结
网络爬虫按照系统结构和实现技术,大致可以分为以下几种类型:通用网络爬虫(General Purpose Web Crawler)、聚焦网络爬虫(Focused Web Crawler)、增量式网络爬虫(Incremental Web Crawler)、深层网络爬虫(Deep Web Crawler)。 实际的网络爬虫系统通常是几种爬虫技术相结合实现的。
通用爬虫技术
通用爬虫技术(general purpose Web crawler)也称为全网爬虫。
爬取过程为先获取初始URL,再根据初始的URL爬取页面并获得新的URL,并且,将新的URL加入URL队列中,再从URL队列中读取新的URL,继续爬取网页内容,同时从新的网页中获取新的URL并重复上述的爬取过程,直到满足爬虫系统设置的停止条件时,终止爬取。
聚焦爬虫技术
聚焦网络爬虫(focused crawler)也就是主题网络爬虫。聚焦爬虫技术相较而言增加了链接评价和内容评价模块,其爬行策略实现要点就是评价页面内容以及链接的重要性。
基于链接评价的爬行策略,主要是以Web页面作为半结构化文档,其中拥有很多结构信息可用于评价链接重要性。还有一个是利用Web结构来评价链接价值的方法,也就是HITS法,其通过计算每个访问页面的Authority权重和Hub权重来决定链接访问顺序。
而基于内容评价的爬行策略,主要是将与文本相似的计算法加以应用,提出Fish-Search算法,把用户输入查询词当作主题,在算法的进一步改进下,通过Shark-Search算法就能利用空间向量模型来计算页面和主题相关度大小。
聚焦网络爬虫是面向主题的爬虫,面向需求的爬虫,会针对某种特定的内容去爬取信息,而且会保证信息和需求尽可能相关。
增量爬虫技术
增量爬虫技术(incremental Web crawler)就是通过爬虫程序监测某网站数据更新的情况,以便可以爬取到该网站更新后的新数据。进行增量式的爬取工作时,不断检测重复数据,在发送请求之前判断是否曾爬取过此URL,在解析内容后判断是否曾爬取过这部分内容,写入存储介质时判断内容是否已存在于介质中。以此来提高爬虫效率。
深层网络爬虫技术
在互联网中,网页按存在方式可以分为表层网页和深层网页两类。所谓的表层网页,指的是不需要提交表单,使用静态的链接就能够到达的静态页面;而深层网页则隐藏在表单后面,不能通过静态链接直接获取,是需要提交一定的关键词后才能够获取到的页面,深层网络爬虫(deep Web crawler)最重要的部分即为表单填写部分。
深层网络爬虫的基本构成包括URL列表、LVS列表、爬行控制器、解析器、LVS控制器、表单分析器、表单处理器、响应分析器。
深层网络爬虫的表单填写有两种类型:一是基于领域知识的表单填写,也就是建立一个填写表单的关键词库,在需要的时候,根据语义分析选择对应的关键词进行填写;二是基于网页结构分析的表单填写,可以根据网页结构进行分析,并自动地进行表单填写,这种方法一般在领域知识有限的情况下使用。
三、现阶段反爬虫技术类型总结
爬虫技术是指使用者通过任何技术手段批量获取网站信息。而与之相对的反爬虫技术则是对方通过使用任何技术手段阻止别人批量获取自己网站信息。而爬虫和反爬虫技术的关键要素都在于批量的获取方式。
对于常见的反爬虫技术类型反爬的三个方向为基于身份识别进行反爬、基于爬虫行为进行反爬、基于数据加密进行反爬。
我们首先讨论类型一:基于身份识别进行反爬。第一种方式是利用headers字段来反爬。首先是利用User-Agent字段来反爬。一般的爬虫默认没有User-Agent,因此能够达到反爬的目的。然而针对这一反爬技术我们可以通过在请求之前添加User-Agent即随机生成User-Agent或原有的大量User-Agent池来破解,实现破解反爬技术的操作。
利用headers字段来反爬还可以通过referer字段或者是其他字段来反爬,因为爬虫默认不会带上referer字段,而服务器端跟据请求发起的源头判断请求是否合法,这就是headers字段反爬的基本原理。Headers字段反爬仍然可以通过检查cookie来反爬。因为通过检查cookies来查看发起请求的用户是否具备相应权限,只有在通过cookies检查权限的情况下才能继续进行数据爬取。
而第二种方式为通过请求参数来反爬。在向服务器发送请求时往往携带请求参数,而针对这些所携带的参数检查是否正确来判断是否具有请求的权限,从而达到反爬虫的目的。通过请求参数来反爬的反爬虫技术具体类型分为四类,分别为:其一在html静态文件中获取请求数据,反爬虫的目的可以以增加获取请求参数的难度的方式实现;其二通过发送请求获取请求数据;其三通过js生成请求参数;其四,通过验证码来鉴别爬虫与用户。
第三种方式为,爬虫可以在请求频率或总请求数量方面与一般用户端区分开来,毕竟爬虫的请求频率与请求数量非常庞大,所以我们可以通过查询一个账号单位时间内总请求数量,过大可猜测为爬虫。而某一账号访问的时间间隔过短或者时间间隔固定,则说明为爬虫,因为普通用户在浏览网站的过程中访问网站的时间间隔一般做不到严格规律。同样可以对请求某一账号特定时间段间访问网站的数量设置阈值,来规避爬虫大量超量访问网站的情况。
第四种方式为,根据爬虫技术的爬取步骤与普通用户的不同进行一般分析。首先了解到爬虫一般通过js实现页面跳转,并且无法在源码中获取下一页url这一特性来判断;或者通过爬虫利用正则等方式提取后续链接的,而此时我们如果设置一个陷阱url,就能令爬虫通过这种方式 进入陷阱,而普通访问者不会进入;也可以利用假数据,只要假数据只能被爬虫读取即可区分;阻塞任务队列或者网络IO,通过生成大量垃圾url或者加入大文件的url来阻止爬虫工作。综合使用多种方式,以达到区分爬虫与普通用户的目的。
第五种方式为数据加密和数据伪装,对数据进行数据伪装,通过加密数据,数据偏移,加密字体,图片以及编码格式等特殊处理,令源码数据与真实值大相径庭, 经过数据位移或者数据图片化,让通常使用utf-8格式进行解码的爬虫得不到真实解码结果。
四、爬虫技术涌现的问题与顾虑
网络爬虫分为“善意爬虫”与“恶意爬虫”。类似百度等搜索引擎所使用的爬虫对网页进行数据扫描,属于“善意爬虫”。而诸如抢票软件类恶意抓取数据信息的爬虫则被称为“恶意爬虫”。
网络爬虫的危害体现在:其一“恶意爬虫”的不正当使用严重干扰了网站的正常运营,过多的爬虫将会造成网站负荷过大,进而致其瘫痪,侵犯了运营者的权益;其二“恶意爬虫”所收集的信息为受到法律保护的特定类型数据或信息,使数据的拥有者丧失对自己数据隐私的保护,受到数据剽窃,损伤了数据拥有者的利益。
强行突破某些特定被爬方的技术措施,将会构成刑事犯罪行为。《刑法》第二百八十五条规定,违反规定侵入国家事务、国防建设、尖端科学技术领域的计算机信息系统的,不论情节严重与否,构成非法侵入计算机信息系统罪。《刑法》第二百八十六条规定,违反国家规定,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机信息系统不能正常运行,后果严重的,构成犯罪,处五年以下有期徒刑或者拘役;后果特别严重的,处五年以上有期徒刑。而违反国家规定,对计算机信息系统中存储、处理或者传输的数据和应用程序进行删除、修改、增加的操作,后果严重的,也构成犯罪,依照前款的规定处罚。
由于网络行政监管不力,以及有关法律的滞后性,许多人利用网站漏洞非法对非公开数据进行爬取,获取了公民的个人信息,严重侵犯了公民的隐私权;也有利用爬虫技术爬取他人作品进行发行,严重侵害了著作权;更有甚者,非法入侵计算机信息系统,抓取非开放的存储数据,造成巨大损失。一件件利用爬虫技术的刑事案件,涌现出了“恶意爬虫”带来的问题,加剧了人们对于爬虫技术的争议,增添了人们对于使用爬虫技术的顾虑。
五、爬虫的合法性界定
随着互联网与计算机的普及,爬虫作为中立的技术,愈发被广泛地使用。但也有不法分子,利用爬虫技术侵害他人利益,做出了违法犯罪的行为,那么,如何对超越法律边界的爬虫进行规制呢?
首先,从爬虫的对象进行界定,只能对开放的数据进行爬取。对于未开放的政府数据、研究数据以及商业机构非公开数据的获取,爬取方绕过或突破被访问网站的数据保护措施进行信息的读取与收集,具有非法性。
其次,从技术手段进行界定,爬取的手段不能具有侵入性。对于网站明确限制或禁止访问的数据,爬取方若故意避开或破解网站的防护措施,爬取非公开的数据,未经授权或超越授权进入计算机信息系统,违反robots协议,具有侵入性,爬虫的侵入性是违法的主要体现。
最后,对爬取的目的进行界定,合法的爬取应当基于正当目的。若要爬取非商业性的数据应该要求以符合公共利益为根本目的,若爬取商业性数据可以借鉴版权法的合理使用原则,要基于合理利用的目的。同时,爬取时应该注意保护个人隐私。
六、思考:怎样规避爬虫技术的违法风险?
对于个人而言,个人在应用网络爬虫技术时应当注意不能爬取没有标识的公开数据,不能使用过多的爬虫造成网站负荷过大,不能侵犯了运营者的权益,也不能影响其他网站使用者的正常访问。使用爬虫技术者应该严格遵守网站设置的robots协议,避免干扰到网站正常运营和其他用户的正常使用。在使用爬虫的过程中,当发现个人用户信息,隐私或者他人商业秘密时,应及时停止并删除。时刻保持较高的自我道德标准,坚决不触犯法律的底线。
在法律角度上,政府部门应该制定更加明确的法律法规,对于爬虫合法性范围进行明确界定,规范爬虫方的行为。明确滥用涉及计算机信息系统的过失犯罪,增设危害国家安全、公共安全的相应罪名,惩戒危害到国家、社会与人民利益的行为。立法部门应该对滥用爬虫做出前瞻性立法工作,扩大个人信息的保护范围,提高反爬虫的技术水平,加强对私密数据信息的保护措施,才能填补法律漏洞,约束试图犯法人的行为,防止爬虫技术的滥用。加大网络安全法的普法范围,让网民理解法律,才能不触犯法律,树立法治意识,形成对法律的敬畏心理,免于成为违法者知法犯法的借口,规避利用爬虫技术违法犯罪的心理。
http://www.dxsbao.com/shijian/549486.html 点此复制本页地址