第七十二期:爬虫爬的好,牢饭吃到饱?

前几天分享的一篇《只因写了一段爬虫,公司200多人被抓!》相信大家看了后都会发问,我只是个写爬虫的,跟我有什么关系?到底什么样的爬虫才不犯法?今天这篇会解答你所有的疑问。

作者:技术领导力

前几天分享的一篇爬虫被抓相信大家看了后都会发问,我只是个写爬虫的,跟我有什么关系?到底什么样的爬虫才不犯法?今天这篇会解答你所有的疑问。

图片来自 Pexels

“你交代一下,总共抓了多少数据,在哪些网站抓的,数据干什么用了?看看够在里面呆几年。。。”警察语气凝重地对张强说。

程序员张强(化名),回忆起这两天来的经历,仍心有余悸。

张强,在一家大数据风控公司担任爬虫工程师,每当看到网上的段子,爬虫学得好,监狱进得早,他总是莞尔一笑,心想:关我毛事啊,我只是个程序员,要坐牢也是老板去坐吧,我又没拿数据去卖钱。

时间回到 9 月,某一天的上午,张强和同事们像往常一样上班,突然公司里来了一群警察,要求所有人双手离开电脑、手机等设备,全部靠墙站立,工程师小哥哥、小姐姐们哪里见过这个架势,都懵了,只得照办。

警察查封了公司,带走了公司所有人,于是有了前面的问话。

01.我只是个写爬虫的,跟我有什么关系?

许多程序员都有这样的想法,技术是无罪的,我只是个打工的程序员,公司干违法的业务,跟我没关系。。。只能说,程序猿们真是图羊图森破了。

我们先来看几个真实的法院判决案例:

案例一:数据拥有者有证据能够举证你的数据是抓取来的。如下,今日头条起诉上海晟品的法院宣判结果。

图片文字来自中国判决文书网

从文书描述来看,修改 UA、修改 device id、绕开网站访问频率控制这是写爬虫的基本,这些技术手法反而成了获罪的依据。

案例二:抓取用户社交数据,尤其是用户隐私相关。

图片文字来自新浪网

案例三:用爬虫技术扰乱对方网站经营规则,且牟利。比如这个:

图片文字来自中国永嘉公号

图上描述做搜索引擎排名的技术,其实就是利用爬虫技术规模化的访问网页。

在我们通常的认知里,因为互联网推崇分享精神,所以认为只要是网络公开数据就可以抓取。

但是通过上面的案例来看,有几个禁忌,抓取的数据最好不要直接商用,涉及社交信息/用户信息要谨慎。

老板交代你抓取敏感任务时,让老板先看下刑法第 285 条。公司从事违法业务,不代表个人行为就没事,只是还没入有关部门的法眼。

02.9 月成为大数据风控行业的“黑暗月”

同盾科技爬虫部门已解散。据报道,同盾科技爬虫部门已解散,员工集体待岗,并被建议不要离开杭州,否则有被抓风险;由于局面失控,蒋韬已出国避风头。

知情人士透露,魔蝎科技与新颜科技近期被查系同盾科技举报。之所以举报魔蝎科技,意在打击其背后的邦盛科技,后者是同盾科技的竞争对手。

紧接着,同盾科技发布“辟谣声明”,称蒋韬一直在国内照常处理公司事务;信川科技于 2018 年开始逐步调整业务,目前已停止全部相关业务,员工调至其他岗位;举报传言是无中生有,恶意中伤。

巧达科技被查封,全体员工被警方带走。有消息称招聘数据公司巧达科技被查封,全体员工被警方带走。

一位巧达科技前员工告诉笔者,“(最近)陆续有 HR 等非核心员工回家,但核心高管依然失联中。”

多位业内人士和律师认为,巧达科技出事可能与其未经授权获取和使用简历、“贩卖”简历信息等涉嫌侵犯用户隐私权、侵犯公民个人信息的行为有关。

公开资料显示,巧达科技成立于 2014 年 7 月,号称拥有中国最大的简历数据库,巧达科技数据库有 2.2 亿自然人的简历、简历累计总数 37 亿份。

此外,巧达科技还有超过 10 亿份通讯录,也就是说,它掌握了超过 57% 的中国人的信息。

这些获取渠道并不正规的数据为巧达科技带来了过亿的收入。2016 年,巧达科技全年收入 1.2 亿元,净利润 4800 万元;2017 年,巧达科技全年收入 4.11 亿元,净利润 1.86 亿元,净利润率超过 45%。

魔蝎科技负责人及员工被抓捕,涉案人员 120 余名。9 月 6 日,网友 TonyStark 爆料称,杭州西湖分局集结 200 余名警力,对涉嫌侵犯公民个人信息的魔蝎科技进行统一抓捕。

截止目前抓获涉案人员 120 余名,冻结资金 2300 余万元,勘验固定服务器 1000 余台,扣押电脑 100 多台,手机 200 余部。案件正在进一步侦办中。

随后,杭州市公安局西湖区分局向媒体证实,魔蝎科技的相关人员已经被经侦大队带走调查。

03.信号明显:“灰色”地带的监管力度在加强!

有业内人士分析表示,爬虫并不犯法,而是爬出后的信息如何使用,存在隐私侵权、数据滥用等风险,特别是在数据的授权、来源、用途十分不透明的情况下。

西南财经大学普惠金融与智能金融研究中心副主任陈文表示:“风控数据公司因为拥有用户的信息、关系图,在获客、营销、催收阶段都能助力现金贷机构。但数据来源大多处于灰色地域,对于个人隐私缺乏保护,存在广泛的数据滥用问题。”

针对这些问题,监管也在路上。今年 5 月 28 日,国家互联网信息办公室就《数据安全管理办法(征求意见稿)》(以下简称《办法》)公开征求意见。

对于网络运营者超出运营需要收集个人信息的行为,《办法》作出了限制性规定,对“网络产品核心业务功能运行的个人信息”以外的信息,网络运营者不得因个人信息主体未同意收集而拒绝提供核心业务功能服务。

针对网络爬虫等抓取网页的自动化手段,《办法》明确应不妨碍网站正常运行,并列明具体的访问收集流量不得超过网站日均流量的 1/3。

对数据泄露才确定网络安全负责人的问题,其明确数据安全责任人的任职要求,突出网络运营者主要负责人、数据安全责任人的姓名及联系方式等。

04.使用爬虫技术的公司,触犯了什么法律?

对爬虫技术应用不当的企业,可能涉及的罪名有三个:

侵犯公民个人信息罪

爬取的数据信息属于公民个人信息范畴

公民个人信息,是指以电子或者其他方式记录的,能够单独或者与其他信息结合识别特定自然人身份,或者反映特定自然人活动情况的各种信息,包括姓名、身份证件号码、通信通讯联系方式、住址、账号密码、财产状况、行踪轨迹等。

利用爬虫技术获取的公民个人信息为非法获取的

利用爬虫技术收集公民个人信息数据,应当获得被收集人的同意,尤其是在数据中包含身份证号、信用信息等敏感数据的情况下,还需要获得明示同意。

同时,利用网络漏洞非法下载、非法购买等行为,都属于“非法获取”公民个人信息。

相关法律依据:《刑法》第 253 条

【侵犯公民个人信息罪】违反国家有关规定,向他人出售或者提供公民个人信息,情节严重的,处三年以下有期徒刑或者拘役,并处或者单处罚金;情节特别严重的,处三年以上七年以下有期徒刑,并处罚金。

单位犯前三款罪的,对单位判处罚金,并对其直接负责的主管人员和其他直接责任人员,依照该款的规定处罚。

敲黑板划重点,上面就是写爬虫程序员也在坐牢的法律依据。

构成非法获取计算机信息系统数据罪

利用爬虫技术侵入计算机信息系统获取数据,或采用其他技术手段获取计算机信息系统数据。

任何组织或个人不得危害计算机信息系统安全;不得破坏计算机及其相关的配套的设备、设施(含网络)安全,破坏其运行环境安全、信息安全,影响其功能正常发挥。

因此企业若在爬取数据时,存在危害计算机信息系统安全的行为,包括破解被爬企业的防抓取措施、加密算法、技术保护措施等,则很有可能被认定为“侵入或以其他技术手段获取计算机信息系统数据”。

相关法律依据:《刑法》第 285 条

【非法侵入计算机信息系统罪】违反国家规定,侵入国家事务、国防建设、尖端科学技术领域的计算机信息系统的,处三年以下有期徒刑或者拘役。

【提供侵入、非法控制计算机信息系统程序、工具罪】提供专门用于侵入、非法控制计算机信息系统的程序、工具,或者明知他人实施侵入、非法控制计算机信息系统的违法犯罪行为,而为其提供程序、工具,情节严重的,依照前款的规定处罚。

单位犯前三款罪的,对单位判处罚金,并对其直接负责的主管人员和其他直接责任人员,依照该款的规定处罚。

看到了吧!别以为写了个 NB 的爬虫破解程序丢到 GitHub 上,就没事。如果被人用来从事非法勾当,你也是要坐牢滴。

非法侵入计算机信息系统罪

①提供数据信息的网站为国家事务、国防建设、尖端科学技术领域的计算机信息系统。

高频使用的网站,如“国家企业信用信息公示系统”“中国裁判文书网”“中国执行信息公开网”以及各地政府网站等,都属于“国家事务”网站的法律范畴内。

②对计算机信息系统具有侵入行为

(1)只要有侵入行为,而不论侵入行为的结果。

(2)一般法院在认定上主要有两种方式:

  • 以非法手段登录网站,获取原本不该有权限获取的数据信息。
  • 将恶意程序、非法文件等发送至网站,对网站的正常运行产生影响。

(3)在爬取此类网站的公开数据时,不存在“侵入”计算机信息系统的情形。但当批量爬取数据信息时,需特别关注是否会对网站的正常运行产生影响,切不可逾越红线。

各位程序员兄弟姐妹们,仔细读完以上内容,判断下所在公司的合法性,该做准备的要趁早准备,不要抱有侥幸之心,更不要觉得老板“后台”硬没事,真要出事了你可能就是主犯,老板却逍遥自在。

05.爬虫程序员如何避免牢狱之灾?

侵犯公民个人信息罪,合规建议:

利用爬虫技术获取公民个人信息的,应该严格遵守相关法律、行政法规、部门规章的规定,否则极易落入“非法获取”公民个人信息的法律风险范畴。

此外,关于在公民个人信息已合法公开的情况下,利用爬虫技术对其进行抓取是否构成非法获取这一问题,暂时没有明确答案,但《民法典人格权编》第 816 条写到:行为人收集、处理自然人自行公开的或者其他已经合法公开的信息不承担民事责任,但是该自然人明确拒绝或者处理该信息侵害其重大利益的除外。

可以明确的是,收集已合法公开的个人信息应不属于违法,但在立法尚不完善的阶段,仍建议谨慎使用爬虫技术抓取公开的个人信息。

非法获取计算机信息系统数据罪,合规建议:

严格禁止通过技术手段绕过服务器的访问限制,或破解被爬网站为保护数据而采取的加密算法及技术保护措施,从而对被爬网站受保护的计算机信息系统中的数据进行爬取。

若被爬网站设定了获取数据信息的措施,爬虫企业应避免通过伪造实名认证或窃取账号密码、内部权限的形式获取数据。

如前文的判决案例,通过技术手段,修改 UA、修改 device id、绕开网站访问频率控制等,进行数据抓取,如果被定罪,这些技术手段都是违法行为的佐证。

非法侵入计算机信息系统罪,合规建议:

对大数据公司,特别是大数据风控企业来说,获取“裁判文书网”“执行信息公开网”的数据非常普遍且重要,但爬取这类国家事务网站的信息时应当尤为审慎,特别是在网站已采取相关“反爬措施”的情况下,仍强行恶意突破防护措施爬取数据,对网站运行造成影响的,均可能构成本罪。

除上述法律风险以外,利用爬虫技术手段还可能产生构成不正当竞争、侵犯信息网络传播权等法律风险。

06.写在末尾的话

不论你所在公司属于哪个行业,请谨记以下三点:

了解规则,敬畏法律。中国程序员对于法律的集体不敬畏,已经到了令人咋舌的程度。

某涉事程序员,坚持认为技术无罪,拒绝配合警方调查,错过了取保侯审的机会,导致被拘留数月,等待判决。

弄清楚公司业务的合法性。之前有 P2P 业务的集体爆雷,再到被全面禁止 ICO 业务,还有在线博彩等等,许多程序员醉心专研技术,缺乏法律常识,更缺乏自我保护意识,糊里糊涂成为某些黑心老板的替罪羊。

积极配合警方调查。实事求是地说自己的问题,把客观证据准备好,积极提供给办案机关;切忌满口“我认为”“我感觉”“我猜测”,对于自己主观判断的东西,尽量思考清楚。

最后,愿每个程序员都能用技术去改变世界,让我们的生活变得更加美好!

阅读目录(置顶)(长期更新计算机领域知识)https://blog.csdn.net/weixin_43392489/article/details/102380691

阅读目录(置顶)(长期更新计算机领域知识)https://blog.csdn.net/weixin_43392489/article/details/102380882

阅读目录(置顶)(长期科技领域知识)https://blog.csdn.net/weixin_43392489/article/details/102600114

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/424788.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在Swift中创建漂亮的iOS图表

通过图形和图表呈现数据是当今移动应用程序最显着的特征之一。iOS图表使应用程序看起来更漂亮,更有吸引力。 在本教程中,我们将向您展示如何使用代码示例在Swift中实现我们的iOS图表。我们将看一下Swift折线图,饼图以及条形图。 您可以找到许…

第七十四期:从bug看11种编程语言演化史,果然如今Python比较流行

在本文中,作者选择了 11 种非常流行的编程语言(通过 Stack Overflow 标签出现的频率衡量),希望可以找出这些问题的共性及差异性。 作者:机器之心编译来源:机器之心 自 2008 年创办以来,Stack …

[Leetcode][第841题][JAVA][钥匙和房间][DFS][BFS]

【问题描述】[中等] 【解答思路】 当 xx 号房间中有 yy 号房间的钥匙时,我们就可以从 xx 号房间去往 yy 号房间。如果我们将这 nn 个房间看成有向图中的 nn 个节点,那么上述关系就可以看作是图中的 xx 号点到 yy 号点的一条有向边。 这样一来&#xff…

死磕 java同步系列之开篇

简介 同步系列,这是彤哥想了好久的名字,本来是准备写锁相关的内容,但是java中的CountDownLatch、Semaphore、CyclicBarrier这些类又不属于锁,它们和锁又有很多共同点,都是为了协同多线程的执行,都是一种同步…

第七十五期:Java 2019 生态圈使用报告,这结果你赞同吗?

这是国外一机构调查了 7000 名开发者得出来的 Java 2019 年生态圈工具使用报告,主要调查了 Java 版本、开发框架、web 服务器等使用情况。 作者:平头哥来源 这是国外一机构调查了 7000 名开发者得出来的 Java 2019 年生态圈工具使用报告,主…

[Leetcode][第486题][JAVA][预测赢家][动态规划][递归]

【问题描述】[中等] 【解答思路】 1.递归 复杂度 class Solution {public boolean PredictTheWinner(int[] nums) {return total(nums,0,nums.length-1,1) >0;}//turn 标记轮到谁了 正数表示先手 负数表示后手 public int total( int[]nums ,int start,int end,int tur…

linux-2.6.38 input子系统(用输入子系统实现按键操作)

一、设备驱动程序 在上一篇随笔中已经分析,linux输入子系统分为设备驱动层、核心层和事件层。要利用linux内核中自带的输入子系统实现一个某个设备的操作,我们一般只需要完成驱动层的程序即可,核心层和事件层内核已经帮我们做好了。因此这篇随…

LinkedList专题2

203 Remove Linked List Elements 思路:考虑1 : 可能有多个节点符合;考虑2:命中节点是head;考虑3:命中节点是尾节点;考虑4:命中节点是中间的普通节点。 学习1:在linked…

第四十一期:一道经典的MySQL面试题,答案出现三次反转

前几天偶然看到大家在讨论一道面试题,而且答案也不够统一,我感觉蛮有意思,在此就做一个解读,整个过程中确实会有几处反转。 作者:杨建荣的学习笔记来源:今日头条 前几天偶然看到大家在讨论一道面试题&…

java面试题1 牛客:A派生出子类B,B派生出子类C,并且在java源代码中有如下声明:

懵逼树上懵逼果,懵逼树下你和我 第一题 [单选题] A派生出子类B,B派生出子类C,并且在java源代码中有如下声明: 1 2 3 A a0new A(); A a1new B(); A a2new C(); 以哪个说法是正确的 A第1行,第2行和第3行的声明都是正…

[Leetcode][第81题][JAVA][N皇后问题][回溯算法]

【问题描述】[困难] 【解答思路】 1. 主副对角线列 标记 复杂度 import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Deque; import java.util.List;public class Solution {private int n;// 记录某一列是否放置了皇后private boolean[] col;// 记…

[Leetcode][第257题][JAVA][二叉树的所有路径][BFS][DFS]

【问题描述】[简单] 【解答思路】 1. DFS 时间复杂度&#xff1a;O(N^2) 空间复杂度&#xff1a;O(N^2) class Solution {public List<String> binaryTreePaths(TreeNode root) {List<String> paths new ArrayList<String>();constructPaths(root, "…

Depth-first Search深度优先搜索专题1

104. Maximum Depth of Binary Tree 思路&#xff1a;顺着树的一个分支一直数层数直到叶子节点。DFS的思路。这个题目可以练习的是递归转迭代。 代码 695. Max Area of Island 思路&#xff1a;遇到点i,j;如果grid[i][j]没有被访问过&#xff0c;并且等于1&#xff0c;那么…

作用域和数组

作用域 就是一对大括号{} 作用域的的特点在作用域内部声明的变量,只能在这个作用域使用 数组 array 一组类型相同的数(值)1.数组一旦定义好长度就不能改变了2.数组访问摸个数据的方式 数组以下标(index)的方式获取数据 数组的声明 定义10个学员的成绩/两只之间以,隔开…

Depth-first Search深度优先搜索专题2

199. Binary Tree Right Side View 思路&#xff1a;想要得到树的每一层最右侧元素值&#xff0c;用BFS最方便。先访问左节点再访问右节点&#xff0c;最后访问的一个值就是留下的值。 想要DFS的思路也可以。只是一定要访问所有节点。 代码 491 Increasing Subsequences …

[Leetcode][第60题][JAVA][第k个排列][回溯][DFS][剪枝]

【问题描述】[中等] 【解答思路】 1. 回溯搜索算法 剪枝 &#xff0c;直接来到叶子结点 时间复杂度&#xff1a;O(N^2) 空间复杂度&#xff1a;O(N) import java.util.Arrays;public class Solution {/*** 记录数字是否使用过*/private boolean[] used;/*** 阶乘数组*/priv…

机器学习中的数学--数学知识复习

机器学习 机器学习三个部分&#xff1a;编程能力数学统计知识业务知识 机器学习分类 1 监督学习&#xff1a;例如分类、房价预测 2 无监督学习&#xff1a;例如聚类 3 强化学习&#xff1a;例如动态系统、机器人控制系统 机器学习算法 是否连续无监督有监督连续聚类 &am…

【数据结构与算法】【算法思想】拓扑排序

一、拓扑排序 拓扑排序是基于依赖关系的节点&#xff0c;根据依赖关系而生成的序列。节点和依赖关系往往要生成有向无环图。类似的问题有&#xff1a;穿衣服裤子的先后关系&#xff0c;生成穿衣序列/专业课程与前置课程形成的课程学习序列/代码编译依赖关系形成的编译顺序序列…

java面试题5 牛客:下列关于JavaBean的说法正确的是:

下列关于JavaBean的说法正确的是&#xff1a; A:Java文件与Bean所定义的类名可以不同&#xff0c;但一定要注意区分字母的大小写 B:在JSP文件中引用Bean&#xff0c;其实就是用语句 C&#xff1a;被引用的Bean文件的文件名后缀为.java D:Bean文件放在任何目录下都可以被引用…

Depth-first Search深度优先搜索专题3

473. Matchsticks to Square 思路&#xff1a;有n根长度不一的火柴&#xff0c;这些火柴可以拼接在一起&#xff0c;但不能被折断。这些火柴能够围城一个正方形吗&#xff1f;每个火柴可以并且必须使用一次。分析得到每个边的长度应该是所有火柴长度和的1/4。接下来就是将火柴…