我国目前并未出台专门针对网络爬虫技术的法律规范,但在司法实践中,相关判决已屡见不鲜,K 哥特设了“K哥爬虫普法”专栏,本栏目通过对真实案例的分析,旨在提高广大爬虫工程师的法律意识,知晓如何合法合规利用爬虫技术,警钟长鸣,做一个守法、护法、有原则的技术人员。
深圳市快鸽互联网科技有限公司 2014 年成立,早期做互联网金融,2017 年转型做互联网科技公司,主营业务是“助贷”,也就为按揭贷款购房的客户提供赎楼及债务置换贷款等服务。
公司的业务需要经常性地访问深圳市政府居住证网站,查询房产地址、房屋编码和学区房的使用情况,用于做房产的市场评估和客户风险评估。因为手动查询效率低下,公司产品组经讨论后提出了一个建议——用爬虫技术自动查询。
2017 年 12 月,CTO 安排新入职的程序员负责这个项目,要求他研发一个自动定时抓取的小程序,主要用来查询、下载网上的数据。
2018 年 1 月,项目经理给程序员一个抓取数据的小程序源代码,程序员开始修改。
2018 年 3 月,程序被部署在阿某云服务器上自动运行,其内置的“网络爬虫”对接了深圳市公安局人口管理处的居住证系统,可以在深圳市居住证网站上查询到房产地址、房屋编码等对应的资料,软件对网站访问量能达到每小时数十万次,查询的信息都被下载保存到公司购买的阿某云服务器上。
2018 年 4 月 27 日 10:43-12:00 左右,居住证系统的承建单位发现系统出现宕机现象,追踪到请求应用服务器端口编号,但因日志缺失而无法定位 IP 来源,当时怀疑是人为攻击。
2018 年 5 月 2 日 10:00-12:00 左右,系统再次遭遇攻击,这次管理人员成功地截取了 IP 地址并报案。
2018 年 5 月 17 日晚上 11 点,服务器维护人员接到了阿某云客服的电话。阿某云说他们公司的服务器 IP 被网警锁定了,因有攻击行为,让他们赶紧联系网警。
2018 年 8 月,CTO、程序员被捕。
案发时,深圳市居住证服务平台的注册用户超过 530 万,服务面包括:所有市民的网上自助受理系统、151个派出所、街道办居住证受理点的现场受理系统、后台接口为市网格办、市交警局、市民政局,市交委等多个政府部门提供居住证、居住登记条件查询和审核。
居住证系统受攻击瘫痪期间,软件对深圳市居住证系统查询访问量为每秒 183 次,共计查询信息约 151 万条次,抓取了大量建筑物编码数据,造成政府信息泄漏;所有居住证办理、居住登记申报、信息查询、对外服务功能均无法正常工作,影响面极广,市民无法办理居住证和居住登记,相关生产生活秩序受到严重影响。除了此次攻击,还有一些派出所出具证明证实 5 月期间经常出现系统无法登陆,录入过程频繁出现掉线、系统数据异常等情况。居住证系统无法正常使用、出现异常情况的时间长达一个多月。
CTO 的部分供述和辩解:我司查询并下载深圳市居住证网上的数据信息没有进行市场买卖,没有跟其他公司进行资源置换,也没有通过查询信息行为获利。我不清楚这款爬虫软件对深圳市居住证网站及系统造成的影响、深圳市居住证网站及系统的承载能力、爬虫软件的具体的启动和部署情况,但我知道从技术上来讲如果超过服务器承载能力的查询肯定会引起系统卡顿或瘫痪,所以我口头要求注意查询时间、控制查询频率,我司并无任何恶意去主观进行攻击。
程序员的部分供述和辩解:抓取数据的原程序是谁研发的我不知道,当时我接到这个任务时,是公司领导把源代码给我后让我修改的。这个程序查询信息的频率我不清楚,共查询多少条信息我也不清楚,我没有因查询深圳市居住证网站的信息而获利,这是我的工作任务。
法院认为,被告人杨杰明、张国栋违反国家规定,对计算机信息系统功能进行干扰,造成为 5 万以上用户提供服务的计算机信息系统不能正常运行累计 1 小时以上,后果特别严重,其行为已构成破坏计算机信息系统罪。
CTO 负责并授权程序员开发涉案爬虫软件,系主犯,判处有期徒刑三年;程序员受指派开发爬虫软件,在共同犯罪中起次要作用,系从犯,判处有期徒刑一年六个月。
判决文书全文:https://wenshu.court.gov.cn/website/wenshu/181107ANFZ0BXSK4/index.html?docId=ddbe90eedd1341888ed9ac24009b67fb
try except
语句直接捕获所有异常,然后 except
里就直接重试,正确的做法是针对不同可能出现的异常做不同处理,取值异常应该怎么处理,连接异常应该怎么处理等等。《劳动合同法》第47条规定:
1、经济补偿按劳动者在本单位工作的年限每满一年支付一个月工资的标准向劳动者支付;
2、六个月以上不满一年的,按一年计算;
3、不满六个月的,向劳动者支付半个月工资的经济补偿,月工资是指劳动者在劳动合同解除或者终止前十二个月的平均工资。
合同未到期,员工无过错情形下,单位提出与员工解除劳动合同的非自行离职的情况下,可索要 N+1 月工资的补偿:N 为在职年限,不足一年但超过半年,则按一年算;1 为辞退员工需要提前一个月通知,否则需要补偿 1 个月工资作为代通知金。