写了篇爬虫文章,收到律师函,怎么办
大家好,我是早起。
从写公众号开始,不论是私信还是交流群,常常都会有粉丝会问出类似下面的问题
xx网站能不能爬?
爬xx数据有没有风险?
其实我并不是爬虫从业人员,充其量算爬虫爱好者,去年也转载过一篇相对理性的文章《请不要污名化爬虫!》,今年初还因为在公众号分享某网站的反爬破解收到了律师函,算是在作死的边缘徘徊了一波
今天就简单聊一下爬虫那些事儿。
当我们谈论爬虫
在这里,其实我想吐槽一下,对于大多数非爬虫从业者或者说大部分 Python 爱好者来说,我们写的“爬虫”和大家谈论的爬虫并不是一个东西。
因为基本上也就requests.get或者selenium折腾几下,就算你加个请求头、cookies什么的拿到数据,对方网站也有n种方式识别出来你,同时也不会涉及复杂的反爬、逆向、验证码处理、分布式、爬虫调度等技术,这样的程序在我看来根本算不上爬虫,顶多算是频率高点的模拟请求。
所以保持对爬虫的敬畏之心是好的,但requests或者selenium捣鼓两下,返回了一点数据分析一下,这样的程序和我要讨论的不是同一个爬虫,你随意折腾,一般情况下对方网站懒得理你,也不会有什么法律风险,但也要注意以下几点。
robots协议
其次要说的就是robots协议,相信如果对爬虫有进一步研究的读者都会知道,每个网站都有robots协议这么个玩意,且有些非技术类自媒体常说一定要遵守robots协议之类的文字!
但正如本文开头提到的文章所说,这个协议是一个君子协议,换句话说不论这个网站实际上是否允许你爬,在robots协议上都会限制你爬!
拿很多教程用来讲解Python爬虫入门的 「豆瓣250」 来说,查看豆瓣的robots协议如下
可以看到也是禁止了所有的请求头User-agent: *以及大部分路径下的页面,其中就包括搜索电影信息的Disallow: /search,如果完全遵循该协议,基本什么都玩不了。
其实不仅是robots协议,大部分网站基本上都会在用户服务协议上限制你使用任何爬虫,例如养活了很多技术博主的某团和某点评,在服务条款上就给出了明确的说明
但之所以基本见不到类似的案件主要就像前文所述,大部分人的爬虫程序都是小打小闹,人家懒得理你,但要知道对方是保留了起诉你的权利。
所以对于robots协议,我们应该是带着尊重进行谨慎合理的数据爬取。
数据
为什么说「涉及数据要小心」?因为大部分爬虫把自己爬进去了的案例都是在数据上翻车,不是用来盈利就是涉及隐私数据。
1. 别拿来搞钱
首先要申明的也是最重要的一点 「你爬人家数据想干嘛」,爬点公开数据自己玩一下基本是没有问题的,但若你把人家数据爬下来出售/盈利是绝对不行的。
打个比方说你爬美团数据做了个丑团来竞争,爬大众点评数据做个了付费的小众点评来出售等这都是不可以的,换句话说这和爬虫程序本身没关系,而是你非法使用对方的数据,目前因为爬虫喜提牢饭的案件也或多或少和盈利性活动有关
所以要明白就算你爬下来到本地的数据也是别人的,千万不要用于任何盈利活动!
2. 隐私数据别碰
其次关于数据还有一点需要注意的是,我们都知道公开的数据大部分可以采集,但如果数据涉及到隐私,尤其是公民信息相关数据,如第二小节里面的文章提到的手机号、身份证、公积金社保等数据,千万不要碰。
就算是公开的数据,也尽量不要使用爬虫程序来大批量、无限制的获取,不然小日子会越来越有判头。至于非公开数据,例如
后台数据
需要一定权限才能获得的数据
付费后才能获得的数据
这类明面上都不让你拿的数据,更别说用爬虫手段获取了。
克制
克制,意思就是当对方网站识别出来你的爬虫行为,例如一些非常规的反爬措施,或者因为较高频率的请求而ban掉你的ip等情况时,我们就需要有所克制,例如合理的绕过反爬、降低请求速度等,尤其注意不要对对方的正常业务造成影响。
并且这个 「正常业务」是否受到影响的解释权完全在对方网站,就算你1秒请求1次,理论上他也能告你影响其正常业务开展。
其次要克制的就是在成功对某网站成功进行了反爬/逆向等操作后,不要太得瑟,不要指名道姓的说出对方网站,就像我一样,仅仅发了篇反爬绕过讲解文章,就光速收到律师函(发文后第二天),当我问到「为什么那么多人发,就给我发律师函」,对方表示看到你就要处理你
结果就像前面说的,对方有多种方式来告你,更别说反爬绕过了,我只能配合删除相关文章。
所以在反爬、频率控制等操作上,一定要克制+谨慎,尤其注意在分享反爬技术上不要太明目张胆,一个好的做法是自己复制一个类似的案例网站(可惜我不会),然后就可以为所欲为的进行技术拆解。
补充
需要额外注意的是,如果是基于别人的需求去开发爬虫程序,比如帮别人写个爬虫程序赚点零花钱、完成boss的任务等,就需要明确需求本身是否有侵权行为,以及需求方基于你的爬虫程序是否用于侵权活动。
例如老板让你用爬虫爬点某网站公开评论数据,然后简单分析下数据写个报告,我认为这是不会有太大风险的,而如果是让你爬取某付费数据或爬数据用于自己公司的商业行为,那完全可以拒绝并拉黑,员工被老板坑的案例实在太多了,希望大家在遇到此种情况下可以正确判断。
小结
以上仅是从我一个非爬虫从业人员角度的一些看法,其实核心就是爬虫无罪,大多数翻车的案例与爬虫本质上没有太大关系,在写爬虫程序时需要保持尊重、谨慎的心态,尊重对方网站的反爬、数据,谨慎、合理去写代码。同时爬虫的水很深,要学的知识很多,绝对不只是 requests 请求两下就算爬虫,基本上涉及到计算、编程开发的方方面面,希望大家可以一起学习、进步。
写了篇爬虫文章,收到律师函,怎么办相关推荐
- 怒写400篇AI文章!这群妹子卷疯了…
今天这篇文章不谈技术,给大家分享一些干货!首先来聊聊一个AI圈子里画风清奇的公众号 夕小瑶的卖萌屋.公号的作者中不仅妹子居多,颜值能打,而且喜欢将学术研究和大厂业务上线中的收获与读者分享. 卖萌屋的作 ...
- 如何写一篇英文文章的Summary?
摘要是对一篇文章的主题思想的简单陈述.它用最简洁的语言概括了原文的主题.写摘要主要包括三个步骤:(1)阅读:(2)写作:(3)修改成文. 第一步:阅读 A.认真阅读给定的原文材料.如果一遍不能理解,就 ...
- python自学行吗-自学Python可以吗?怎样从入门到大师?我写这篇文章告诉你
前言 很多粉丝朋友问我该如何去学习爬虫.学习Python.自学能找到工作吗?等一系列的问题.今天我就来回答一下大家. 第一点 确定好方向与目标 当决定踏入这个行业那一刻起,我想每一个人都爱已经准备投身 ...
- 自学Python可以吗?怎样从零基础到大师?我写这篇文章告诉你
前言 很多粉丝朋友问我该如何去学习爬虫.学习Python.自学能找到工作吗?等一系列的问题.今天我就来回答一下大家. 第一点 确定好方向与目标 当决定踏入这个行业那一刻起,我想每一个人都爱已经准备投身 ...
- 华为方舟编译器官网正式上线,写一篇你应该知道的科普文章
本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每个工作日都有文章更新. 8月31日,早上9点,华为方舟编译器官网就这么悄然上线了.网上甚至没有大面积的新闻报道,我是 ...
- B站向快视频发律师函;2017年网络直播用户4.22亿;委内瑞拉预售“石油币”丨价值早报
第[870]期早报由[周四]赞助播出 01 今日头条 B站向快视频发律师函:要求移除所有侵权内容 2月21日消息,今日凌晨,哔哩哔哩(B站)在微博上公布律师函,要求360快视频立即全面.彻底地停止所有 ...
- 中国作家维权联盟向苹果和百度发出律师函
中国作家维权联盟继7月4日成立后,最近有了首轮行动.该联盟已于近日向苹果公司和百度公司发出了律师函. 在作家维权联盟向苹果公司发出的律师函中称,苹果公司侵犯6位作家的23部作品的信息网络传播权,这6位 ...
- 写一篇上个月想写的文章
一直以来就想写这篇文章,因为考试以及考试后的一连串事情,一直没有时间来写,今天终于有时间了,于是,这篇文章即将问世.以这篇文章来记录我们第一次做网页的总结. 有这个想法还是在这学期开学初,一方面是我想 ...
- 分析手机网站的优势思维结构图_写了100多篇原创文章,我常用的在线工具网站推荐给大家...
摘要 不知不觉写博客已经一年多了,累计写了100多篇原创文章,今天给大家分享下我经常使用的在线工具网站,希望对大家有所帮助! Markdown Nice 支持自定义样式的在线Markdown编辑器,编 ...
最新文章
- php7搭建平台,在windows7中搭建Apache+PHP+MySQL平台
- vue小项目总结与笔记【五】——一个轮播图插件vue-awesome-swiper
- LINQ教程二:LINQ操作语法
- 转:Unity3D研究院之提取游戏资源的三个工具支持Unity5(八十四)
- 计算机与应用化学怎么投稿,计算机与应用化学杂志
- codeforces 1017E
- IDEA设置类、方法注释模板
- 前端工程化开发方案app-proto
- android 结束if循环_(第五讲)if 分支语句和 while 循环
- 我用 CSS 告诉你,我每天是怎么度过的~
- 在cygwin下安装CRF++
- 18. Element firstChild 属性
- 水平面天文辐射网络模拟(基于ArcGIS)
- python计算两点间距离_已知经纬度坐标求两点间距离,用python表示
- 机器学习——卷积神经网络(CNN)
- 物联网的应用涉及生活的方方面面,在这里介绍一下物联网的多种应用场景
- 绘制流程图的基本规则
- BZOJ.2726.[SDOI2012]任务安排(DP 斜率优化)
- 霍尼韦尔为重庆打造智慧口岸提供技术支持
- C语言求离散数学中析取合取等
热门文章
- 给每个函数写一个记录日志的功能.
- 第二十章:异步和文件I/O.(十三)
- Solr 4.x定时、实时增量索引 - 修改、删除和新增索引
- android TextView里边实现图文混配效果
- The Ultimate Guide To iPhone Resolutions
- mvc 下的 signalR使用小结
- Java 基础【04】Swing 组件事件注册
- asp.net 2.0中新增的AppendDataBoundItems .dropdownlist 添加第一项
- Spring Cloud(八)高可用的分布式配置中心 Spring Cloud Config
- 【pytorch】pytorch-backward()的理解