据说互联网上 50%以上的流量都是爬虫创造的,也许你看到很多热门数据都是爬虫所创造的,所以可以说无爬虫就无互联网的繁荣。
前天写了一篇文章《 只因写了一段爬虫,公司200多人被抓!》,讲述程序员因写爬虫而被刑侦的事件。文章传播很广,评论中讨论最热是:爬虫究竟是合法还是违法的?
这个话题涉及到我们很多程序员的日常工作,所以有必要和大家细聊一下。
1.技术无罪?
很多朋友给我留言:技术是无罪的,技术本身确实是没有对错的,但使用技术的人是有对错的,公司或者程序员如果明知使用其技术是非法的,那么公司或者人就需要为之付出代价。
在今年国家颁布《中华人民共和国网络安全法》之后,很多以前处于灰色地带的业务都不能做了。
君不见之前曾经非常火的各种社工库网站,现在绝大部分都已经消失匿迹了吗?因为新的安全法强调:贩卖个人信息超过50条属于“情节严重”,需要追求其法律责任。
很多草根站长都纷纷主动关闭了网站;还有很多涉及版权信息的网站,比如书籍、影视剧、课程等后期也会面临越来越严格的审查,这就是目前大的形势。
2014年12月20日,人人影视字幕站发布微博称,人人影视正式关闭,并表示或将继续为正版商提供翻译服务,也可能转变为讨论社区的形式。
2019年6月,吾爱破解因版权问题关站整改........
随着中国经济的不断往前走,知识产权问题会越来越重视,非法爬虫是现在一个重要的打击部分,如果有程序员走在灰色的边缘尽早收手,不要因为一点小的收益导致触犯法律,从而得不偿失。
技术是无罪的,但是用到了错的地方代价也是非常巨大的。
2.爬虫岗位人人自危
我在拉钩上搜索: 爬虫工程师,显示有 217 条相关招聘信息,薪资从10-60k 都有,说明市场上对爬虫的需求是很大的。
前天文章发出去之后有很多程序员给我留言:
- 我们领导安排我爬取公司内部的信息,这算不算犯罪呢?
- 爬取网上公开的信息,这算不算犯罪呢?
- 写了一段代码上传到 Github,被人用了犯法吗?
简单回答一下这些问题:
- 爬取公司内部信息有公司授权当然不算犯罪的,但是公司内部不用接口而用爬虫不知道是为什么?
- 爬取网上公开信息不犯法,但如果大量开启爬虫导致对方服务器崩溃也是违法的,这属于暴力攻击的范畴了。
- 写了一段代码上传到 Github 上面,有人利用你的代码做了其它非法的事情,绝大多数都没有问题的,但如果你写的软件涉及到入侵、暴力破解、病毒等就不好说了。
还有朋友认为这事责任在企业不在程序员,日常工作中项目初期设计和最后上线需要通过公司的法务批准,所有代码必须有其他程序员同事评审通过才能提交。
这位朋友说的挺对的,按道理每个公司都应该有法务和风控在前面,后面才是产品设计和程序员开发的事情,但如果一家公司为了利益,老板可以直接让这两个部门闭嘴,后面程序员可以不干吗?
更甚至很多公司其实就没有这两个部门或者说形同虚设。那么做为程序员自己也需要操一份心,凡是涉及到入侵类的程序都不能干,因为有一个东西叫做:单位犯罪。
单位犯罪,是指公司、企业、事业单位、机关、团体为单位谋取利益,经单位决策机构或者负责人决定实施的,法律规定应当负刑事责任的危害社会的行为。
我国刑法对单位犯罪原则上采取双罚制度,即单位犯罪的,对单位判处罚金,并对其直接负责的主管人员和其他直接责任人员判处刑罚。
3.什么样的爬虫是非法的?
爬虫不能涉及个人隐私!
如果爬虫程序采集到公民的姓名、身份证件号码、通信通讯联系方式、住址、账号密码、财产状况、行踪轨迹等个人信息,并将之用于非法途径的,则肯定构成非法获取公民个人信息的违法行为。
也就是说你爬虫爬取信息没有问题,但不能涉及到个人的隐私问题,如果涉及了并且通过非法途径收益了,那肯定是违法行为。
另外,还有下列三种情况,爬虫有可能违法,严重的甚至构成犯罪:
- 爬虫程序规避网站经营者设置的反爬虫措施或者破解服务器防抓取措施,非法获取相关信息,情节严重的,有可能构成“非法获取计算机信息系统数据罪”。
- 爬虫程序干扰被访问的网站或系统正常运营,后果严重的,触犯刑法,构成“破坏计算机信息系统罪”
- 爬虫采集的信息属于公民个人信息的,有可能构成非法获取公民个人信息的违法行为,情节严重的,有可能构成“侵犯公民个人信息罪”。
现在网上有很多付费的课程,比如极客时间、Gitchat、慕课网、知识星球等等,这些付费内部信息如果被非法爬取手法出售获利,一种违法行为。
之前我就遇到一个网友,把各个知识星球的内容都抓下来,合到一起自己去卖,自作聪明觉得发现了一个大的商机,其实自己不知道这个行为其实很危险,风险和收益明显不对等。
我这两天看的时候,他的一个公众号都被封了,后来又转移了一个小号继续搞,迟早又是被封的命运,真的很不值当。最可怜是那些买他服务的用户,因为他宣传时承诺永久,肯定永久不了。
4.什么样的爬虫是合法的?
(1) 遵守 Robots协议
Robots 协议也叫 robots.txt(统一小写)是一种存放于网站根目录下的 ASCII 编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不应被搜索引擎的漫游器获取的,哪些是可以被漫游器获取的。
Robots 协议就是告诉爬虫,哪些信息是可以爬取,哪些信息不能被爬取,严格按照 Robots 协议 爬取网站相关信息一般不会出现太大问题。
(2)不能造成对方服务器瘫痪
但不是说只要遵守 Robots 协议的爬虫就没有问题,还涉及到两个因素,第一不能大规模爬虫导致对方服务器瘫痪,这等于网络攻击。
2019年05月28日国家网信办发布的《数据安全管理办法(征求意见稿)》中,拟通过行政法规的形式,对爬虫的使用进行限制:
网络运营者采取自动化手段访问收集网站数据,不得妨碍网站正常运行;此类行为严重影响网站运行,如自动化访问收集流量超过网站日均流量三分之一,网站要求停止自动化访问收集时,应当停止。
(3)不能非法获利
恶意利用爬虫技术抓取数据,攫取不正当竞争的优势,甚至是牟取不法利益的,则可能触犯法律。实践中,非法使用爬虫技术抓取数据而产生的纠纷其实数量并不少,大多是以不正当竞争为由提请诉讼。
举个例子,如果你把大众点评上的所有公开信息都抓取了下来,自己复制了一个一模一样的网站,并且还通过这个网站获取了大量的利润,这样也是有问题的。
一般情况下,爬虫都是为了企业获利的,因此需要爬虫开发者的道德自持和企业经营者的良知才是避免触碰法律底线的根本所在。
5.最后
最近看了很多关于程序员出事的事件,东南亚程序员被打,多个大数据公司被查等等。做为一名普通的程序员,希望大家也可以多关注此类事件,从而提醒自己。
有风险的行业谨慎进入,比如现金贷、不合规的P2P、赌博类游戏、黑五类产品的行业。如果公司安排入侵某个网站数据,或者有同事/朋友邀请泄露公司信息的都需要保持警惕,有时候一个很小的动作都有可能导致出问题。
我们绝大多数公司和个人使用的爬虫都是没有问题的,不必人人自危,只要把握住不要爬取个人信息,不要利用爬虫非法获利,不要爬取网站的付费内容,基本上不会有问题。
程序员是世界上最单纯的一批人,也是一批高智商低情商的人,工作是工作但也需要适当保持谨慎,对于一些游走在法律边缘的事情请保持距离。
敬畏法律,遵纪守法,从我做起。