python是真刑啊!爬虫这样用,离好日子越铐越近了~

2023-11-17

在这里插入图片描述
“一个程序员写了个爬虫程序,整个公司200多人被端了。”
“不可能吧!”
刚从朋友听到这个消息的时候,我有点不太相信,做为一名程序员来讲,谁还没有写过几段爬虫呢?只因写爬虫程序就被端有点夸张了吧。
朋友说,消息很确认并且已经进入审判阶段了。

01.对消息进一步确认

朋友认识几个律师朋友,和他们有一些业务来往,得知他们想尝试把业务扩展到程序员这个群体。那段时间我刚好离职也有时间,在朋友的安排下一起聊聊看看有没有合作的机会。

他们为什么想扩展人群到程序员这个行业呢?其实就是因为他们代理了这名程序员的官司,才发现很多程序员完全不懂法,直接说是法盲一点都不过分。
刚好我也很好奇程序员因爬虫被抓这个案子,看看到底是怎么回事,就和两名律师以及朋友坐到一起,深入交流后才知道整个事件的来龙去脉。

这名程序员在被警察逮捕后,警察审问期间一直不承认自己触犯了法律,并且也完全没有意识到自己犯法了。进去之后总以为警察搞错了,过几天就会把自己放出来,结果也错过了取保候审的机会。

律师说,这名程序员的妈妈当时在他毕业的时候,就因程序员这个行业太辛苦不同意他做程序员,但他对这个行业一直都很感兴趣,坚持做了一名码农,没想到两年后出现了这个事情。

他们家里人都后悔死了,距离事发当日到现在已经过去了半年,当事者还被关在监狱中。不管这件事如何收尾,对这名程序员和他的家庭都是一个很大的打击。
以下内容根据部分推测和网上资料整理而出,可能会有细微偏差。
在这里插入图片描述
02.一个爬虫引发的案件

某一个知名互联网公司,突然发现公司的服务器连续几天压力倍增,导致公司内部系统崩溃不能访问,公司领导责令技术部尽快解决。

该公司系统平时访问量一直比较平稳,但不知为何这几天系统压力突然大增,经过技术人员几天调查发现了一个惊人的真相,公司客户信息被抓取,并且某个接口访问量巨大。
随着技术人员的深入调查发现的现象更加震惊,入侵者利用这个入口已经窃取了大量的客户信息,并且所有的线索都指向了一家大数据公司。

这家公司的主要业务就是,出售简历数据库。经核查该公司出售的简历数据中,就包含自己家客户的简历信息。

技术部上报领导之后,公司开会商议后决定报案。

03.案发现场

案发前一段时间,小明(化名)接到了技术部领导的需求,要求写一段爬虫批量从网上的一个接口抓取数据,爬虫开发完后测试没有问题,小明就将程序上传到了公司服务器。

程序运行了一段时间后,也许是有了新的需求,也许是小明想对爬虫程序进行进一步的优化,将爬虫的线程数,由原来比较小的值调到一个比较大的值。

完善后的程序上传到服务器后,小明跟踪了下爬虫的进展,运行平稳并且速度快了很多。提交之后像往常一样,小明就把这件事情忘了。

小明没想到自己这次提交的爬虫程序,竟然能把对方的服务搞挂了,也没想到自己因为写了一段代码而坐牢。
在这里插入图片描述
04.整个公司被抓

2019年的某一个工作日,公司员工像往常一样忙忙碌碌,某个程序员和产品经理正在为了一个需求争吵,小明带着耳机正坐在办公室敲代码。

突然就来了一大群警察,要求所有人离开工位,双手离开电脑、手机等设备。整个公司的人都懵了,不知道发生了什么事情,但也都照办了。

警察很快查封了公司的所有办公用品,问技术部相关人员要了服务器的信息,公司全体上下 200 多人无差别的全部送到看守所了解情况。

在去看守所的路上,大家都还心里想这是不是搞错了,我们只是一个科技公司公司又没有骗人,怎么就集体被抓了。

小明也一直认为自己没有犯罪,自己只是一名技术人员而已,所有的工作也都是按照领导要求来执行的,应该很快就会把我们释放了吧。

随后,公司非核心人员都被释放了出来,主要集中在 HR、行政人员。最后确认公司 36 人被捕,其中大部分是程序员。

被捕后小明委托的律师事务所,就是和我们交流的两位律师的事务所,据说小明入狱后就一直不认为自己有罪,也因一直拒绝认罪从而错过了取保候审的机会。
目前小明还在等待最后的审判。。。

05.涉事公司背景
在这里插入图片描述
巧达科技号称是中国最大的用户画像关键数据服务提供商,专注于大数据及人工智能领域前瞻性产品研发,客户覆盖互联网行业及泛金融领域。

高管多为百度出身,公司2017年净赚1.86亿元。

公司2014年7月成立,B轮估值2亿美元,目前已经到了C轮融资阶段,投资者包括李开复创新工场、百度风投齐玉杰、中信产业基金、人工智能产业基金等等。

巧达的创始人成予曾经是百度第一任产品部负责人、联合创始人沈毅曾经是百度电子商务事业部技术总监和百度爱乐活技术副总裁。

公司曾宣称通过整合多达2.2亿份自然人简历、100亿个用户识别ID组合和1000亿+用户综合数据,绘制出了涉及中国8亿人口的多维度数据。其中,包含个人隐私与非隐私信息。

此外,巧达科技还有超过10亿份通讯录,并且掌握着与此相关的社会关系、组织关系、家庭关系数据。结合简历、通讯录,以及外部获取的超过千亿条其他用户数据,巧达科技自称拥有超过8亿自然人的认知数据。

也就是说,超过57%的中国人的信息都在巧达科技的数据库里面。

“基本上所有你能数的上名的大型互联网公司,都是巧达科技的客户。”一位之前简历中介生意的从业者。

06.近期多个大数据公司被查

最近的大数据行业,风声鹤唳。

在中秋节前一天,中国电信控股的子公司天翼征信传出风声,其总经理、副总经理以及市场人员被警察带走,原因是与其合作的大数据公司被警方调查。

在天翼之前,新颜科技CEO黄向前被警方带走、魔蝎科技公司CEO周江翔涉事被查、公信宝公司门口被贴了封条、知名第三方数据服务公司聚信立宣布将暂停对外提供用户授权的运营商爬虫服务……

此外,国内大数据风控平台龙头同盾科技也被曝爬虫部门已解散,CEO蒋韬已出国避风头,对此,同盾科技昨日发表辟谣声明表示,子公司杭州信川科技有限公司确实停止爬虫业务,但其他言论均属不实。

据内部消息,最近监管对数据乱象出手,开始清理行动,15家公司被列入调查名单,其中几家估值都超几十亿。

国内很多大数据公司的数据来源多多少少都有一定的问题,随着我国今年6月1日起,《中华人民共和国网络安全法》将实施,所有的网上行为将越来越严格,如果还按照之前的惯性去操作,迟早会出问题。

07.程序员谨慎使用技术

不知道大家是否发现,随着国家经济的不断发展,以前可能处于灰色阶段的行业,现在几乎都慢慢不能做了。写这篇文章的目的,也是为了警示大家技术是无罪的,但是用到了错的地方代价也是非常巨大的。

我之前看过这样一个报道,一个程序员因为爱好写了一个程序(入侵工具),并且把此程序上传到了互联网上,没想到过了两年之后,有人利用这个小程序非法获利500多万。

虽然这名程序员并没有因为这个程序而获利,但是间接给犯罪人员提供了犯罪的工具,最后被判刑 2 年缓期 2 年执行。

程序员的生活是简单的,工作大概也只关心代码和BUG。小明也从来没有把自己的职业和犯罪联系在一起。

技术本身是不违法的,就好像一把水果刀,如果用来削苹果削梨没有任何问题,但是用来伤人就是凶器,就要被列入物证list。

爬虫也是如此,在大多数情况下,只是采集互联网上的公开信息,很难说是违法行为。但是一旦涉及入侵到别人系统去获取数据,那必然存在着法律风险。

可能很多同学是懵的,很多互联网公司就是靠抓取数据活着的。他只是正常执行公司安排的工作任务,怎么就涉嫌犯罪了呢?

这里结合律师朋友给出的一些建议,这里摘录出来仅供参考。

08.单位犯罪和个人犯罪的关系

首先了解一下单位犯罪。除了自然人犯罪,还有单位犯罪,是指公司、企业、事业单位、机关、团体为单位谋取利益,经单位决策机构或者负责人决定实施的,法律规定应当负刑事责任的危害社会的行为。

我国刑法对单位犯罪原则上采取双罚制度,即单位犯罪的,对单位判处罚金,并对其直接负责的主管人员和其他直接责任人员判处刑罚。相关司法解释规定,在审理单位故意犯罪案件时,对其直接负责的主管人员和其他直接责任人员,可不区分主犯、从犯,按照其在单位犯罪中所起的作用判处刑罚。

因此,公司犯罪有可能会牵连员工,尤其是案件中对非法获取数据有直接责任的爬虫工程师。这也是为什么当事人在公司人小言微但还是被批捕的原因。

其次,是否可以“不知者不为罪”来辩解?刑法原则之一是法无明文规定不为罪,并没有“不知者不为罪”。主观上的恶意是衡量犯罪的要素之一,结合客观上的行为来推理主观恶意。破解别人的服务器,获取别人不公开的信息,不能说没有恶意,不能以不懂法来搪塞。

09.重点: 什么样的爬虫是违法?

如果爬虫程序采集到公民的姓名、身份证件号码、通信通讯联系方式、住址、账号密码、财产状况、行踪轨迹等个人信息,并将之用于非法途径的,则肯定构成非法获取公民个人信息的违法行为。

除此之外,根据相关规定,对于违反国家有关规定,向他人出售或者提供公民个人信息,情节严重的,窃取或者以其他方法非法获取公民个人信息的,均可构成成“侵犯公民个人信息罪”,处三年以下有期徒刑或者拘役,并处或者单处罚金;情节特别严重的,处三年以上七年以下有期徒刑,并处罚金。

重点关注:下列情况下,爬虫有可能违法,严重的甚至构成犯罪。
爬虫程序规避网站经营者设置的反爬虫措施或者破解服务器防抓取措施,非法获取相关信息,情节严重的,有可能构成“非法获取计算机信息系统数据罪”。

爬虫程序干扰被访问的网站或系统正常运营,后果严重的,触犯刑法,构成“破坏计算机信息系统罪”

爬虫采集的信息属于公民个人信息的,有可能构成非法获取公民个人信息的违法行为,情节严重的,有可能构成“侵犯公民个人信息罪”。

10.最后

最后提醒大家敬畏法律,热爱生活。

愿每一个程序员都可以用自己的技术去改变世界,让我们的社会变得更加美好!

---------------------------看不见的分割线---------------------

最近很多小伙伴找我要一些 Linux 基础资料,于是我翻箱倒柜,把这份华为大牛总结的 Linux 归纳笔记找出来,免费共享给大家!

据说有小伙伴靠这份笔记顺利进入 BAT 哦,所以一定要好好学习这份资料!

资料介绍

这份资料非常全面且详细,从 Linux 常用命令到 Linux 常用操作,再到网络管理、性能优化,几乎覆盖了 Linux 基础学习的方方面面,非常适合初学者入门!

资料也按目录进行编排,每一章下面都有更具体的内容:
在这里插入图片描述
而且,这份资料不是扫描版的,里面的文字都可以直接复制,非常便于我们学习:
在这里插入图片描述
如何获取?![在这里插入图片描述](https://img-blog.csdnimg.cn/20210626160113288.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2h1MjQ3OTk4,size_16,color_FFFFFF,t_70
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python是真刑啊!爬虫这样用,离好日子越铐越近了~ 的相关文章

  • Pandas:参差不齐的时间序列的时间加权滚动平均值

    我有一个参差不齐 意思是不规则的频率 时间索引的 DataFrame 我想对其执行时间加权滚动平均值 以维护 DataFrame 的原始索引 假设记录的值在被另一个值取代之前一直有效 实现此目的的一种方法是将参差不齐的 DataFrame
  • Python argparse:需要两个并存的位置参数

    使用 argparse 如何指定我希望两个位置参数一起出现或根本不出现 IE 我希望我的使用字符串看起来像 Usage FooBar py h FOO BAR 正如 hpaulj 所建议的 这是您可以使用的解决方案 In 1 import
  • Matplotlib 颤抖比例

    我正在尝试使用 matplotlib 和 quiver 函数绘制一些箭头 但我想使用数组单独选择每个箭头的长度 http matplotlib sourceforge net api pyplot api html matplotlib p
  • 如何创建自定义颜色图并将其用于不同范围的数据?

    假设我有这样的数据 import numpy as np import matplotlib pyplot as plt import matplotlib colors for reproducibility purposes np ra
  • 让 argparse 收集但不响应标志

    我有一个脚本 它接受一些参数 使用其中一些参数来选择要运行的脚本 并将其余参数传递给该脚本 所以它看起来像这样 parser ArgumentParser parser add argument script choices a b par
  • ElementNotVisibleException:消息:元素在 Robot Framework 中不可交互

    示例代码 div class modal footer div
  • Python 中的参数命名约定

    对于形式参数密切相关的函数 例如 def add two numbers n1 n2 return n1 n2 def multiply two numbers n1 n2 return n1 n2 如上所示 为两个函数中的参数指定相同的名
  • 如何将返回列表的 Celery 任务链接到一个组中?

    我想从 Celery 任务返回的列表创建一个组 以便对于任务结果集中的每一项 一个任务将添加到该组中 这是一个简单的代码示例来解释用例 这 应该是上一个任务的结果 celery task def get list amount In rea
  • 检查空查询集

    我想确认这是否是检查空查询集的正确方法 如果这就是为什么我会遇到 UNIQUE 约束错误 syn check Synonym objects filter MD objects get filter dict synonym type St
  • 如何将当前登录的用户指定为模型字段的默认值?

    我想做这样的事情 class Task models Model created by models ForeignKey User default LoggedInUser blank True null True related nam
  • 找出段落中出现的单词

    sentence Alice was not a bit hurt and she jumped up on to her feet in a moment words Alice jumped played 我可以使用filterpyth
  • Django 模型表单中的必填字段

    我有一个表格 当我也不想要它们时 会根据需要显示几个字段 这是来自 models py 的表格 class CircuitForm ModelForm class Meta model Circuit exclude lastPaged d
  • 标记 pandas 系列中连续的 True 元素组

    我有一系列的 pandas 布尔值 我想标记连续的 True 值组 怎么可能做到这一点 是否可以以矢量化的方式做到这一点 任何帮助将不胜感激 Data A 0 False 1 True 2 True 3 True 4 False 5 Fal
  • PDB.run - 重新启动 pdb 会话

    我对 python 和 pdb 比较陌生 但我对 gdb 有很多经验 我的问题是 如果我在代码中设置了多个断点 我会想要更改一些内容并重新运行我的调试会话并保留这些断点 但是 在我的 pdb 会话中输入 run 会导致我的会话终止并显示以下
  • Django - 以表单形式访问 request.session

    我按如下方式调用表单 然后将其传递给模板 f UserProfileConfig request 我需要能够访问表单中的 request session 所以首先我尝试了这个 class UserProfileConfig forms Fo
  • 需要帮助编写扭曲的代理

    我想编写一个简单的代理 可以对请求页面正文中的文本进行打乱 我已经阅读了 stackoverflow 上的部分扭曲文档和其他一些类似的问题 但我有点菜鸟 所以我仍然不明白 我现在就是这样 不知道如何访问和修改页面 from twisted
  • Python Flask 不更新图像[重复]

    这个问题在这里已经有答案了 这里有一些关于图像的 Flask 问题 但没有一个能解决我的问题 我有一个应用程序可以创建图像 保存它 然后显示它 一次 它应该多次执行此操作 每次更改图像时 它应该加载新图像 它不是 它只显示与其显示的文件名关
  • python散景中的反转轴

    我正在尝试反转 y 轴并在散景散点图中设置 x 和 y 的范围 我在用 BokehPlot bokeh scatter data df x range min utc max utc y range min val max val 我收到错
  • openpyxl:为一系列 Excel 单元格分配值或应用格式而不进行迭代

    我想应用特定格式或为一系列 Excel 单元格分配一个值 而不需要迭代每个单元格 我目前正在使用这个脚本 from openpyxl import Workbook from openpyxl styles import Font wb W
  • Python - 使用 BeautifulSoup 从 URL 列表中抓取文本的最简单方法

    使用 BeautifulSoup 从几个网页 使用 URL 列表 中抓取文本的最简单方法是什么 有可能吗 最好的 乔治娜 import urllib2 import BeautifulSoup import re Newlines re c

随机推荐

  • 敏捷之旅大连站2012第一次筹备会议记录

    昨天召集了敏捷之旅大连站的几位组织者 一起开了一个筹备的讨论会 简单记录如下 1 地点的讨论 目前有几个地点备选 东软会议中心 腾飞软件园的会议厅 中荷人寿会议室以及酒店 综合各种因素 包括地点的交通 午餐的方便程度 场地的大小 音响和投影
  • 2.C++设计模式 - 观察者模式

    class Observer public 构造 Observer 析构 virtual Observer 更新 virtual void updata class Server private 观察者链表 list
  • 微信多客服如何设置快捷回复(高级玩法总结)

    在微信生态 使用公众号小程序等 同时每天会产生很多重复的咨询 如何在微信上实现更高效的快捷回复 把常用语 回答文档等便捷化 标准化对答 避免以往的复制粘贴工作方式 是我们不得不面对的一个问题 应用内回复 全应用回复 个人回复 公共回复 快捷
  • Hadoop - wordCount 实例

    hadoop 创建文件夹存放需要被统计的文件 hadoop fs mkdir usr 创建单子文件并写入内容 可在网上找几篇英文文章写入 vim word txt 上传到 hdfs hadoop fs put word txt usr 利用
  • C#开发学习~~~“未能找到类型或命名空间名称“XXXX”(是否缺少 using 指令或程序集引用?)”

    引言 在 C 高阶编程 中文第10版 的2 2 4节中 有这样一段描述 看到这段话 我简单的理解为 只要在程序开始用using语句声明名称空间 就可以在当前名称空间使用声明的这个名称空间中的类和方法 但实践证明我的理解是有些错误的T0T 问
  • [坑]拦截器返回response.getWrite().println方法返回数据不全

    在SpringBoot项目中 前端ajax请求后端 拦截器进行登录拦截判断 如果超时返回false 则给前端返回一段json字符串 private static void returnJson HttpServletResponse res
  • C++ cin 实现循环读入

    习惯了使用while scanf d x 来实现循环读入 但是有时候使用泛型编程的时候就必须使用C 中的cin 但是当我想要实现循环读入的时候却发现有些困难 我们可以看一下下面这个简单的例子 include
  • 使用boost::units库进行信息单位转换的C++示例程序

    使用boost units库进行信息单位转换的C 示例程序 include
  • 电视机尺寸与观看距离

    电视机尺寸是指电视机屏幕对角线的长度 以英寸为单位 1英寸 2 54厘米 而且目前来看大多数液晶电视的标准屏幕比已经变成了宽的是16 9 根据勾股定理 对角线的长度是 337 根号337 开放得出 屏幕高度与对角线的比值就是9 337 一般
  • 【新版】系统架构设计师 - 案例分析 - 信息安全

    个人总结 仅供参考 欢迎加好友一起讨论 文章目录 架构 案例分析 信息安全 安全架构 安全模型 分类 BLP模型 Biba模型 Chinese Wall模型 信息安全整体架构设计 WPDRRC模型 各模型安全防范功能 网络安全体系架构设计
  • Linux中创建文件夹,删除文件夹

    Linux中创建目录 mkdir 文件夹 比如 mkdir test 删除文件夹 rm rf 文件夹 比如 rm rf soft vi强制不保存退出命令 q
  • const 定义数组问题

    const keysArr array aaa gt 11111 bbb gt 22222 ccc gt 33333 ddd gt 44444 上面是标准的错误格式 PHP编译不会报详细错误信息 500 查找半天的代码问题 一直未发现错误
  • 解决Jenkins构建前端时node-sass的.node文件下载报错问题的一种方案

    问题背景 公司的npm仓库未跟外网联通 为什么不联通 我也好鸡儿纳闷 使用Jenkins构建前端时 会在下载node sass的 node时报错 默认情况下会从github上去下 node文件 当然也可以通过配置 npmrc文件指定下载路径
  • 浅析Jetty与tomcat区别

    一 Jetty介绍 1 Jetty概述 Jetty是一个开源项目 最初由Mort Bay Consulting公司创建 它的目标是提供一个快速 灵活 可嵌入的Web服务器和Servlet容器 使Java开发人员能够轻松构建高性能的Web应用
  • 如何在 Mac 上录制屏幕?mac录屏教程分享

    您可以为整个屏幕或屏幕上的选定部分录制视频 1 使用 截屏 工具栏 要查看 截屏 工具栏 请同时按下以下三个按键 Shift Command 和 5 您将看到用于录制整个屏幕 录制屏幕的选定部分或拍摄屏幕静态图像的屏幕控制项 录制整个屏幕
  • 泛型的概念

    一 什么是泛型 参数化类型 为什么要引入泛型 1 将不同类型的数据添加到Arraylist中 取出数据要使用时 要进行强制转换 还原 向下转型 2 同时在编写程序时 不会报错 无类型安全监测机制 而结果出错ClassCastExceptio
  • 摄像头在H5的实时播放功能实现历程

    一 问题解决的路程 1 需求来源 因项目发展需求 需要在3D地图上进行实时摄像头监控展示 3D地图是基于浏览器H5页面展示的 在H5页面实时播放摄像头监控就需要可以直接拿到取流地址进行直接播放 以下各大摄像头产商取流方式 海康威视 默认IP
  • 网络层

    网络层 从它的名字可以看出 它解决的是网络与网络之间 即网际的通信问题 而不是同一网段内部的事 用于网络互联的设备都处于网络层 如 路由器 网络交互机等 一个底层网络内部只存在两层 即数据链接层 与 物理层 没有其它层
  • 考研C++/C数据结构之单链表两种查找方法

    继上篇文章我们探讨了单链表的两种创建方法 头插法和尾插法 今天我们来学习一下单链表的两种查找方法 按序查找和按值查找 按序查找的代码实现如下 按位查找 LinkList GetElem LinkList L int i int j 1 Li
  • python是真刑啊!爬虫这样用,离好日子越铐越近了~

    一个程序员写了个爬虫程序 整个公司200多人被端了 不可能吧 刚从朋友听到这个消息的时候 我有点不太相信 做为一名程序员来讲 谁还没有写过几段爬虫呢 只因写爬虫程序就被端有点夸张了吧 朋友说 消息很确认并且已经进入审判阶段了 01 对消息进