文字版精华总结!你写的爬虫到底违不违法?

2024-05-15 12:49

本文主要是介绍文字版精华总结!你写的爬虫到底违不违法?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

阅读本文大概需要 8 分钟。

上周二(2021年1月12日)晚上,我们夜幕团队与华为云社区和上海正策律师事务所的虞元坚律师,以及许多技术圈的自媒体朋友们联合举办了一场公益性的法律科普直播,引起了广泛关注。虽然虞律师在直播中已经举了一些例子,也分析了一些案例,但从直播时的评论、问题以及后续的反馈上来看,似乎还是有些朋友没能理解到虞律师直播中所说的「用来判断自己做的事情是否会出问题的关键点」,也就是核心的三要素:动机(采集数据的目的)、行为(用的什么方式采集)、结果(对目标群体或平台造成了什么后果)。

既然如此,那我们就来结合一些常见的情况以及有朋友问到的那些看起来虞律师讲的案例中没有的情况再来看看,把这核心的三个要素给搞清楚,避免出现学完法律知识还是一脸懵的现象。

在开始之前还是要强调一下,这三个要素非常重要!根据虞律师直播中的讲解,我国的法律条文有些是以结果为导向、有些是以动机为导向,且实际判罚中也需要结合多个要素一起来看的,不同情况的事情不能一概而论。

也就是说,即使是同样的、实际并不算恶劣的行为,也会因为结果或动机的不同,结合之后构成违法或犯罪,一定要注意!

另外,执法也是有成本的,会受限于取证难度、造成损失大小等因素。但不被追究也并不代表做的事情就没有问题了,这一点也需要注意!

下面我们来看一些具体的情况(故事为半虚拟,只表述判断方法,不代表真实情况一定如此):

动机单纯、行为简单、结果影响小:少量采集了小说网站上的书籍自己看

某天张三想要看小说,但又不想一个平台一个平台地换着看多本分散在多个平台上上架的书,于是他弄了个通用的阅读器,并用爬虫把这些要看的书都采集了下来放到自己的阅读器里看,采集频率只是一天一次追个更新而已,没有造成啥影响,平台方甚至都没有发现有这回事。

那么这种情况,只要他没有把采集下来的东西进行传播,就不会有问题。

原因很简单,他本来就只是为了看这几本小说而去采集,既没有采集无关的书籍内容,又没有达到毫无节制、超出他看小说所需的必要限度的程度,没有对平台或者作者造成什么损失。

而且他采集下来之后也确实就只是自己看而已,没有进行传播,整个事情的动机和结果都没啥问题,那当然不会被认为是违法/犯罪,也不会有人去追究责任。

动机不是特别单纯、行为简单、给别人造成了一定损失:在非必要限度下大量采集了短期免费开放的资源以至于平台瘫痪

去年(2020年)年初的时候,由于疫情很严重,大家都在家里无法出门,于是有些出版社、学校出于好心,将自家平台上原本收费或仅供内部查阅的书籍和视频开放了出来,目的是让大家能消磨时间、学习一些有用的知识。

但张三在看到了这个情况后却想着:这事过了之后这些东西我不就看不了了?我得采集下来,这样以后就也能看了。而平台之前都是付费、登录后才能查看内容的,所以并没有对这种行为做出任何的防护措施,张三只使用了个下载工具中(比如IDM)的网站下载器就把所有内容都采集了下来。

但由于张三未对下载器作出任何限制,采集时的并发量极大,直接导致平台瘫痪了一段时间,对其他正常学习的用户造成了一定影响。

那么这种情况,即使他只是为了自己看,也确实是自己看,并且这些东西在这段时间都是公开的,他也确实能直接看到也没用。因为他在采集时对平台造成了过大压力,使网站陷入瘫痪状态,结果影响较大,那这肯定是有问题的。

这种情况只要平台方要追究,那么法院在这个结果并不好的情况下结合上前面的采集所有内容这个操作,就可以将其判定为是毫无节制地采集、没有在必要限度内使用,要求赔偿损失、赔礼道歉之类的可以说是肯定会发生的事情。

动机不纯、行为恶劣、给别人造成了非常大的损失:大量、高频采集正版小说平台,并搭建盗版小说平台

张三觉得:小说网站就不应该收费,不管是啥小说都应该免费。于是,他准备弄一个免费的小说平台。

但小说来源哪来呢?作者又不会给他免费写文,那显然得从其他平台那弄。于是他写了一个爬虫程序,每天24小时地对其他小说平台进行轮询,一旦有小说更新就付费买下来,然后搬到自己的平台上供人免费阅读。

那么这种情况,首先他的动机就已经有问题了,作者的小说又没有给他授权搬运,平台也没有说可以做这种事情,并且原本需要付费的东西他搬过来免费供人阅读,这肯定会给别人造成经济损失。

而且,他的行为也很恶劣,他是每天一直在轮询别人平台的,远远超出了正常人使用的限度,肯定会对平台造成一些不必要的压力,也会浪费一些平台方花在带宽上面的费用,会造成一定的经济损失。

最后,他造成的结果也存在对别的平台造成替代的情况,用户在不需要付费的情况下就能直接在他的平台上看,原本的平台没人去了,作者也赚不到钱了,这也实际造成了经济损失。

那么只要平台方或者作者要追究,他这必然是会出现数罪并罚的情况的,在赔偿损失的同时进去坐个几年毫无问题。

动机单纯、行为恶劣、对别人的服务造成了一定影响:大量、高频采集工商数据,并搭建数据分析平台方便大众

张三某天在分析工商数据时发现,虽然相关部门已经将数据都公开出来了,但由于数据较为零散,且查询工具做得没那么完善,做起分析来还是不太方便,便想着自己把这些数据聚合起来搭建一个数据分析平台方便大众。

于是,张三拉了一伙人开始写爬虫,为了能做到数据很实时,他们每天都要全量采集好几次目标的几个平台,且由于数据量较大,他们的爬虫并发量也很大,对平台的服务造成了一定影响,偶尔会出现加载缓慢的现象。

这种情况的话,其实如果爬的是几个商业平台,他们肯定是会被直接抓起来的,毕竟对别人的服务造成影响了。但由于政府部门在这方面相对较为宽容,而且本身工商数据也都是公开信息,他们做的事情也确实能方便大众,所以也就放任他们这么做了。

动机不纯、行为恶劣、在社会上造成了一定的负面影响:给诈骗信息刷量,让信息看起来很可信,导致有人被骗

张三某天在群里接外包,碰到李四问他能不能给微博刷热度,而张三恰好对微博很熟悉,于是就接下了这个活。

过了没多久,张三写出来的刷量程序被李四用来给诈骗信息刷了量,最终影响范围很广,导致很多人被骗购买了李四所说的物品,李四赚得盆满钵满。

好景不长,由于受害者报了警并通知了记者,这件事火了,于是由于是有意给诈骗信息刷量以提高可信度,并且有人被骗了,还在社会上造成了一定的负面影响,所以张三和李四都被抓了。

这就是一个将技术用在了歪门邪道上,帮助了诈骗分子进行犯罪的典型情况。这种情况由于张三和这个事件是有直接关系的,所以至少会是这个诈骗案件的从犯,很惨。

动机不纯、行为简单、在社会上造成了一定的负面影响:在排名活动中给某个特定的人刷赞,使其排名很高,以至于最终得奖

某天,一平台在做排名活动,点赞最高者能有特别的奖品,于是张三就开始动起了歪脑筋,决定参与这个活动,然后给自己刷赞,这样就能直接拿到奖品了。

于是在这场活动中,张三把自己的排名给刷到了第一,而且平台方还没第一时间发现是刷出来的赞,把奖品给发出去了。

事后,平台方接到投诉,排名第二的参与者拿出证据公开指出李四的赞是刷出来的,要求收回这些奖品转而发给他,引起了社会舆论的关注。但由于奖品已经发出了,难以追回,且奖品价值还没有高到一定程度,所以只好作罢,平台只能是重发一份第一名的奖品。

这就是典型的由于执法成本过高,导致最终恶意使用技术的人没有出事的情况。但这并不代表这么做就是对的,不被追究不代表没有问题,也不代表不违法,勿以恶小而为之!

动机单纯、行为简单、没有给别人造成明显损失且还产生了一定的收益:大量采集各种网站的数据,并搭建搜索引擎方便大众

在平行世界中,互联网上还没有出现搜索引擎这个东西,而张三某天突然灵机一动,想到了可以将各种网站收集起来进行索引,然后建立一个名为搜索引擎的东西来方便大众在互联网上检索自己需要的东西。

于是张三写了一个爬虫程序,把全互联网所有能看到的东西都给爬了下来,并搭建出了一个搜索引擎。

而一些小网站的站长那边,从这一天开始突然发现自己的服务器压力突然剧增,但访问人数也突然有所增长。通过查看日志发现,是有一个叫某条的搜索引擎爬虫造成了过大的压力,但由于搜索引擎的引流效果还是挺好的,所以站长们最终还是没有说什么,只是默默地对爬虫做了一点频率限制,以及升级了一下服务器的配置。

这就是典型的给被采集方带来的利益大于损失,且产品本身对社会有一定价值的情况。在这种情况下,不但不会有人表示反感,同时也不会有人认为这种行为有什么问题,可以说是皆大欢喜。

动机单纯、行为简单、在社会上造成了一定的负面影响:采集黄色平台并搭建自己的平台供朋友查看,但最终实际构成了一个公开的黄色平台

张三在与朋友聊天时,发现大家都有一个共同的需求,那就是看一些黄黄的东西。于是为了方便分享,张三在采集了一个黄色平台后,自己也搭建了一个平台,和朋友们一起使用。

但好景不长,由于张三没有给这个平台做任何限制,某天一朋友无意中将平台的地址给传播出去了,影响极大,以至于被警方发现。最终,张三由于传播淫秽物品被抓。

这就是个典型的在需要做好限制时没有做限制的情况,私下自己研究、观看,或者是限定朋友圈小范围传播没人管你,哪怕你再怎么搞花样都行。但如果你没做限制变成公开传播,不管你是有意还是无意的,那就是违法了。

动机单纯、行为简单、但间接性地给别人造成了非常大的损失:提供接码服务,但被人利用来诈骗

张三发现,有很多人出于隐私的考虑,会更倾向于用一些临时的身份标识(比如邮箱、手机号)去注册账号,于是他收集了一批手机卡,在这基础之上构建了一个接验证码的工具,用来给大众提供隐私注册的服务。

而李四发现了张三的这个产品后,想到的不是用来提供隐私注册,而是用来注册一些小号,这样他就可以用这些小号去诈骗了。

于是李四大量购买了张三产品的使用额度,利用张三这个产品提供的服务注册了非常多的某信账号,用来实施诈骗,两人都赚得盆满钵满。

但好景不长,随着公安机关的深入调查,李四这个利用大量小号实施诈骗的犯罪分子最终被逮捕了,而为他提供服务的张三,也因为未在提供此类具有风险的服务时对自己的用户进行用途上的判断,被认为是实际知情的从犯,于是被连带着判了刑。

这就是典型的虽然想做的事情是好的,但由于事情本身有一定风险,且做的时候没有去控制这个风险,导致被人滥用于其他非正当用途,最终形成连带关系,被认为是从犯的情况。

动机单纯、行为简单、没有给别人造成多少损失:在平台提供优惠活动时,少量薅羊毛自己使用或转手赚了点小钱

张三某天在某多多平台上购物时发现,某多多的抢购活动可以通过程序频繁请求的方式提高抢购成功率,于是便写了一个程序用来帮助自己抢购,每次都能抢到那么一两件,不管是自己用还是转手卖掉都挺好。

而某多多平台发现,有部分张三用户的行为不太正常,不像是正常人能做到的操作。但由于这部分用户相互之间并无能产生关联的信息,应该只是一个个的个体用户。而且,由于这部分用户抢购涉及的金额实际并不高,通过法律手段来处理的成本太高,也太过麻烦,于是就只是在后台对他们做了点限制,让他们即使使用程序也难以抢到低价商品,以减少损失。

这就是典型的个体用户少量薅羊毛被发现后的情况,一方面是量不大,一方面是薅出来的利益也不多,平台方难以一一使用法律手段进行处理,所以最后大家相安无事。

动机不纯、行为恶劣、给别人造成了较大的损失:在平台提供优惠活动时,大量薅羊毛并单纯以此来获利

与前面的张三不同,李四在发现这个事情后,想到的是注册大量账号,然后使用程序批量地将某多多上的优惠商品全都抢下来,而且他也确实这么做了,也通过转手销售赚了不少钱。

但某多多在分析后发现不对劲了,有部分账号看起来都是一个人控制的,而且每次活动都能抢占掉大量正常用户的福利资源,明显是在恶意薅羊毛谋利,得干掉他!

于是,某多多在收集好证据后提交给了警方,警察蜀黍经过一段时间的调查,锁定了李四的位置,将其抓获。

这个情况与前面的那个不同之处就在于:李四抢购的量远超正常人能使用的限度,显然不是买去自己使用的。并且,李四也确实是在恶意薅羊毛谋利,行为本身又直接导致平台方投入的大量成本无法落到正常用户的手上,这不搞他搞谁呢?

动机不纯、行为相对不算太恶劣、给别人造成了一定的损失:在平台出现漏洞时,大量利用漏洞薅羊毛自己使用

某天王五发现,某多多平台出现了一个漏洞,可以以1元不到的价格充值100元的话费或某币,于是他心生一念,可以利用这个漏洞给自己充个几万元,这样以后都不用充值了。

而发现这个漏洞的实际不止王五一个,还有很多人也发现了这个漏洞,并且弄得比王五狠得多,最终对某多多平台造成了几千万元的损失。

但某多多发现了这个情况,并尝试开始追回,但为时已晚,只追回了充值话费的那部分,某币已经追回不了了。而且,由于利用这个漏洞薅某多多羊毛的人很多,难以一个一个地使用法律手段进行处理,所以对于那些实际造成的损失相对不大的人,某多多只能是封号泄愤,没有进行更多的操作,转而专心对付那些薅了非常多的人。

这个情况也是典型的由于执法成本过高,导致无法追究,但同样不代表这么做就是没问题、不违法的,更何况这实际也不算小恶了。

动机单纯、行为恶劣、在社会上造成了极大的负面影响的同时也给别人造成了非常大的损失:采集个人信息用于风控,并给合作方提供个人信息进行识别,且出现隐私泄露事件

张三某天发现,借钱的公司那么多,大大小小的都有,但他们的风控做得都不咋地,这方面似乎有利可图?

于是张三就做了一整套风控体系,从用户注册时的各种信息提交到注册后的提供各平台账号授权应有尽有,将用户的风险控制得死死的,他的客户们也都非常满意。

但好景不长,由于他的某个客户在追款时动用的手段太过恶劣,导致这个行业的情况被媒体爆了出来,在社会上造成了极大的负面影响,也引起了警方的关注。

经过警察蜀黍调查发现,张三提供的风控体系中存在违规采集个人信息的情况,且这些信息并没有被良好的管理,导致被部分客户用来贩卖或做了其他更恶劣的事情,影响极大。

于是张三的后果,大家也应该都知道了。

这就是典型的碰了不该碰的东西(个人信息),而且在操作一些高风险的东西时没有严格管理(出现贩卖个人信息的情况),导致最终出事的情况。

总结

讲了这么多故事,想必大家应该都能搞明白了吧?判断一件事情是否违法,并不是只看行为的,而是要结合动机(目标)和结果,多个要素一起来看。行为再简单的事情,只要动机和结果有问题,那就一样会有问题!

如果你做的事本身是好事、是正当的事,而且也没有对别人造成什么损失,那你只要没有用一些很恶劣的手段去做、没有影响其他的人,行为也没有超出做这事的限度,那就肯定没问题!

而如果你做的事情本身就有问题、不是什么好事,比如说会使别人的利益受到损失,又或者是不符合公序良俗,那就肯定会有问题!说白了就是看最终造成的结果影响有多大,值不值得别人花费时间或金钱成本去弄你罢了。即使暂时没弄你也并代表没有问题,只是时候未到而已。

当然,自己依靠三要素来判断也并不是绝对就对,凡事都会有特殊情况。比如万一在你的认知中,你做的这事情就是好事,但实际却是坏事呢?所以如果你无法判断你做的事情是否会有问题,或者是你觉得没问题的事情,身边的人在对三要素进行判断后都觉得有问题,那你就最好还是找专业的律师咨询一下,以防万一!

顺便提醒一下,律师这个职业也并不是所有法律都懂的,不同法律适应的情况要找不同专精的律师,非专精于对应法律的律师在解决问题时一样得查资料、研究法条含义。所以自己了解一下大概范围再去找对应的专精律师吧,这样效率会高很多,也不容易出错。

另外,虞律师在直播中并不仅仅讲了如何判断一件事情是否是违法的,还讲了像生产环境中的常见法律问题、《数据安全法》的解读、《劳动法》的解读和常见劳动纠纷问题以及很多法条细节,建议大家有空还是看看直播的回放深入了解一下,多了解点法律知识不会错的!(回放地址见文末)

最后再次感谢支持与协办这次公益活动的朋友们,这些热心的朋友值得我们表示尊敬与感谢,排名不分先后:

•企业 - 图灵教育•企业 - 博文视点•技术社区 - 华为云社区•技术社区 - 思否社区•技术社区 - iTesting•技术社区 - VIPTEST•公众号 - NightTeam•公众号 - 进击的Coder•公众号 - 菜鸟学Python编程•公众号 - Python编程参考•公众号 - Crawlab漫游指南•公众号 - Python进击者•公众号 - 咸鱼学Python•公众号 - 未闻Code•公众号 - Python爬虫与JS逆向•公众号 - 妄为写代码•公众号 - 你丫才秃头•公众号 - 统计与数据分析实战•公众号 - Python学习开发•公众号 - xchaoinfo•公众号 - Python乱炖•公众号 - guguji•公众号 - Python编程与实战•公众号 - 雪山凌狐教程•公众号 - 搞点逆向778•公众号 - 知识多一点•公众号 - 爬虫逆向与数据分析•公众号 - Fluentd学习交流•公众号 - 逆向lin狗•公众号 - 小白技术社•公众号 - 爬小虫联盟•知识星球 - 安卓应用安全学习•知识星球 - AST入门与实战•个人站点 - 静觅丨崔庆才的个人站点•个人站点 - 大鱼的鱼塘•个人站点 - 韦世东的技术专栏•团体站点 - 夜幕爬虫安全论坛

完整名单请参考:https://www.kdocs.cn/l/ce0hVPUoPr52


阅读原文查看原直播回放。

注:文中图片来源于网络,如有不妥请联系我们进行调整。

好文和朋友一起看~

这篇关于文字版精华总结!你写的爬虫到底违不违法?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/991872

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

二分最大匹配总结

HDU 2444  黑白染色 ,二分图判定 const int maxn = 208 ;vector<int> g[maxn] ;int n ;bool vis[maxn] ;int match[maxn] ;;int color[maxn] ;int setcolor(int u , int c){color[u] = c ;for(vector<int>::iter

整数Hash散列总结

方法:    step1  :线性探测  step2 散列   当 h(k)位置已经存储有元素的时候,依次探查(h(k)+i) mod S, i=1,2,3…,直到找到空的存储单元为止。其中,S为 数组长度。 HDU 1496   a*x1^2+b*x2^2+c*x3^2+d*x4^2=0 。 x在 [-100,100] 解的个数  const int MaxN = 3000

状态dp总结

zoj 3631  N 个数中选若干数和(只能选一次)<=M 的最大值 const int Max_N = 38 ;int a[1<<16] , b[1<<16] , x[Max_N] , e[Max_N] ;void GetNum(int g[] , int n , int s[] , int &m){ int i , j , t ;m = 0 ;for(i = 0 ;

Python3 BeautifulSoup爬虫 POJ自动提交

POJ 提交代码采用Base64加密方式 import http.cookiejarimport loggingimport urllib.parseimport urllib.requestimport base64from bs4 import BeautifulSoupfrom submitcode import SubmitCodeclass SubmitPoj():de

go基础知识归纳总结

无缓冲的 channel 和有缓冲的 channel 的区别? 在 Go 语言中,channel 是用来在 goroutines 之间传递数据的主要机制。它们有两种类型:无缓冲的 channel 和有缓冲的 channel。 无缓冲的 channel 行为:无缓冲的 channel 是一种同步的通信方式,发送和接收必须同时发生。如果一个 goroutine 试图通过无缓冲 channel

9.8javaweb项目总结

1.主界面用户信息显示 登录成功后,将用户信息存储在记录在 localStorage中,然后进入界面之前通过js来渲染主界面 存储用户信息 将用户信息渲染在主界面上,并且头像设置跳转,到个人资料界面 这里数据库中还没有设置相关信息 2.模糊查找 检测输入框是否有变更,有的话调用方法,进行查找 发送检测请求,然后接收的时候设置最多显示四个类似的搜索结果

java面试常见问题之Hibernate总结

1  Hibernate的检索方式 Ø  导航对象图检索(根据已经加载的对象,导航到其他对象。) Ø  OID检索(按照对象的OID来检索对象。) Ø  HQL检索(使用面向对象的HQL查询语言。) Ø  QBC检索(使用QBC(Qurey By Criteria)API来检索对象。 QBC/QBE离线/在线) Ø  本地SQL检索(使用本地数据库的SQL查询语句。) 包括Hibern