爬虫到底违法吗这位爬虫工程师给出了答案
大家好,本期将为大家来采访一位爬虫工程师,与他相识是在一个技术号主群中,只有他怼了我的文章,所以也算不打不相识!他便是
小周码字
号主:Loco。
文章主要分为三部分,第一部分为Loco自述:简单讲述一下他是如何从大学生一步一步走到现在。第二部分为提问解答:猪哥收集了近100个问题,然后由Loco大佬自行选择回答,快看看你有没有被翻牌吧!第三部分是猪哥从Loco回答中提取的一些关键字,希望能加深大家的记忆。
我读的大学是个野鸡学校,虽说是一个计算机专业,但实际的课程内容很杂。CAD、3DMAX、Office全家桶之类的都会有,所以在校期间对编程方面的成长并不大,当时也就只有写个批量改文件名的工具这种水平。
毕业以后到目前为止也就在两家公司工作过,一家是上家公司,另一个是现在这家,总体路程还算顺利吧,没遇到过什么大的挫折,各种需求也能逼着自己成长。
我接触爬虫这方面的起因,其实是因为找实习,当时快毕业了嘛,要先找个实习锻炼锻炼。但是因为我认为我能做的方向比较多,也还没有想好到底往哪个方向发展比较好,
所以就开始看知乎的相关回答
,然后发现数据相关的好像都不错,爬虫这个方向看起来也挺有意思的,就边学边开始海投简历。
投着投着我就发现了一个问题,投简历这个事情太机械化了,能不能写个程序帮我自动投?我就可以腾出这部分时间来干点别的事情了,这样还能顺便练一练写爬虫的技术。
万幸的是,当时的拉勾、智联、实习僧、58等招聘网站的反爬基本没有,对于一个初学爬虫的人来说还是可以轻松地自己解决:
搜索->获取职位详情->投递简历
这个操作的。
于是,一个自动投简历的小工具就诞生了,虽然代码十分简陋,
完全就是用requests库以一个流程化的方式写下来的
,但已经足够达到我想要的效果了。在那之后,我每天就只需要等待面试通知和电话面试,发现有合适的就去面试一下就好了,节省了大量的时间用在搞项目上。
然后大概这么投了一个多星期吧,
中间面了十多个公司
,有大有小,但都是要么不太满意、要么对应方向的技术深度还不够,直到碰到了上家公司。那是一家创业公司,可能因为创始人是做技术出身的关系吧,公司氛围很不错,跟老板聊起来也很舒服,然后公司本身也是专门做爬虫相关产品的,所以就去了这家公司。
在这家公司的那段时间应该是我技术水平成长最快的时候了,因为每天做的事情就是写爬虫,
当时我们团队将应用商店排名前100的所有APP都“弄”了
。什么乱七八糟的问题都有碰到过,
然后因为团队里每个人有天赋的方向都不同,一边被需求逼着查各种资料、挑战自己,一边互相补充知识,成长速度就非常快了
从那离职以后我进了现在这家公司,目前做的主要就是区块链搜索引擎的数据收集。看似简单但实际还是很有挑战性的,因为区块链的特性会导致数据量非常大,而且区块链还不像传统互联网网站那样有个标准化的HTML,存在着各种麻烦的问题。所以对于我自己的技术水平增长速度也是有很大的影响的。
总结一下其实还是那句话,需求逼的。
在采访大佬的时候,我在朋友圈征集了大概100个问题,以下是大佬随机挑选的21个比较有代表性的问题进行解答。
注:以下“爬虫”均指“垂直爬虫”
可行,而且有一定的基础会很容易上手,至于深入的部分就看自己了。
可行,但我认为较难,因为爬虫做深了以后是需要你了解各种相关领域知识的,而你现在对这些领域的东西一无所知,甚至可能连编程都还不知道怎么开始,起点会比有基础的人低很多。
这个得看公司的,有些公司搞得都是些天天更新反爬的平台(比如工商信息相关的),那基本就是得一直盯着看会不会出问题,一不小心就会要加班。
这个问题看个人,因为爬虫技术可用的地方太多了,没法一个一个地都拿出来说。比如你想搞个自动签到的工具,这其实本质上就是爬虫;比如你想搞个自动回复设定内容的机器人,这其实本质上也是爬虫。
我觉得首先发请求不用说了吧?抓包工具的使用也不用说了吧?熟练掌握XPath、正则表达式这种解析工具也是基本的,然后JSON之类的传输格式至少要了解过长啥样吧,再就是JS逆向总得会一点吧(从只改变量名函数名混淆级别的代码中找出加密参数生成部分的程度)。差不多会这些以后,再自己做几个项目,应聘个初级爬虫工程师没啥问题。
垂直爬虫做到后面本质上就是逆向,你需要有良好的逆向思维方式,并且对一些安全领域的骚东西也有一定的了解,这样你才能游刃有余地处理高难度的反爬。
上面的入职水平了解一下?然后就是可以关注一下我的公众号「
小周码字
」(猪哥强力推荐)学习进阶内容,网上其他的教程绝对没有讲得这么细的。
这个问题也很看个人,我觉得主要看有没有需求逼迫成长吧。之前招人的时候,很多三年经验的也就比入门水平稍微好一点,他们在工作时所遇到的难点几乎全是依靠自动化测试工具,对逆向水平毫无增长。
所以建议还是多依靠逆向手段去解决问题,成长速度会很快
同上,标15K及以上的招聘JD还是挺多的,看看招聘需求就知道大概到什么程度了。
丰富且有深度的逆向经验、熟悉通信协议底层实现、做过骚东西等各种,但主要还是逆向经验。
未来主要内容在APP上的平台应该会越来越多,难度也会越来越高,所以对于爬虫工程师的逆向水平要求会越来越高,只会简单逆向甚至不会逆向的人找工作会越来越难。
不一样,爬虫只是将数据取回来,具体怎么分析才是数据挖掘的事情。
差很多,与上个问题类似,只不过“黑客”这个词太宽泛了,黑客也是有具体方向的。
自己破呗,逆向+机器学习。
都不用,因为效率太低了。
涉及法律问题,这种针对某个平台的东西是不能细说的。
算是擦边球吧,其实你即使遵守规则去爬别人的网站,只要人家想搞你,还是可以让你做的事情变成违法的。所以建议不要做太过分的事情,毕竟狗急了也会跳墙。
还有就是不要为一些明显是做灰黑产的人/公司写代码,一旦他们出事了,你也会被牵连。
知乎上之前那个很火的被抓了的人,从回答内容中来看其实就是做打码平台的那个微凉,他这一个平台据说赚了至少千万,主要应该是提供给做黑产的人使用了,这种其实被抓是迟早的事。最好的避免违法的办法就是明显觉得不太好的事情就不要去碰,基本就不会有啥问题。
让需要数据的人提需求,如果你自己就是那个需要数据的人,那就去做市场调研,看看你需要的数据在哪里能找到。
最先进的技术其实就是使用在PC平台上已经玩烂的各种反破解技术将行为监测点(设备指纹、用户操作等)隐藏起来,然后传给服务端做行为识别,如果操作非人类或者缺少某些东西就触发风控。
最有效的技术其实不是技术而是方法,这个方法就是账号收费,将你的数据变成需要花多少钱才能看到这样子的,就能做到啥高端技术都不用上、轻松提高爬虫方的获取数据成本的效果,当然这也需要结合良好的产品设计,否则普通用户的体验会很差。
这个应该是对应领域的人自己思考一下自己拿到那些公开数据究竟可以做什么。
人家就是依靠这种方式来提高你成本的,你如果觉得成本过高要么放弃要么换一条路线获取数据。
Loco在投简历时直接使用爬虫进行投简历,实习就有这种骚操作,让我明白一个道理:实践是获得高薪的一个捷径!
和Loco大佬深有同感,尤其在最开始工作的那几年,需求是推动学习成长最快的方法,不逼一把自己,怎么知道你的上限有多高?
和多位爬虫工程师交流过,一致认为逆向是最重要的一项技能,后面猪哥也会多学习并写一些逆向方面的教程!
爬虫本身就是打法律的擦边球,所以作为技术人我们更应该守住底线,向灰黑色产业说不。如果有些东西你不能确认是不是违法,可以向身边朋友咨询或者百度,切莫存侥幸心理!
最后感谢Loco大佬在百忙中抽出时间接受猪哥的采访,猪哥也看过他的一些爬虫教程,目前很少有人会讲爬虫的逆向,而他是其中一位!
对于那些没有被翻牌的或者还有其他问题想要咨询的同学,大家可以关注Loco大佬的公众号:
小周码字
,直接向他提问吧!
爬虫究竟是合法还是违法的
关注了这个问题十几天了,有法律人士也引出了几份判决书,确实让我等从业者后背发凉,老老实实上班写个爬虫,怎么还有牢狱之险呢?
仔细探究这些案例,我总结出如下观点:
新三板挂牌公司涉窃取30亿条个人信息,非法牟利超千万
竞争燃藜·深圳中院|利用网络爬虫技术攫取他人数据正当性认定
-全文页-中国裁判文书网
最后附上2014年百度地图因大量引用大众点评的评论被起诉,最后法院的判决也说明遵守Robots协议并不是没有问题,大量爬取造成的不正当竞争依然会违法。
大众点评向百度索赔9000万法院判赔300万
以上你会发现,爬虫本身并不违法,而是看你使用的方式和目的,还要看是不是商业用途。
这就像摄影一样,人人都可以拍照,技术宅也可以用无人机满天拍,但如果你拍人家隐私、在禁区里拍、偷拍盗版人家的作品,对不起那是违法。
顺便关注下近期马蜂窝事件,大众点评如果起诉,可能又增一个典型案例。
Python爬虫要违法了吗告诉大家:守住规则,大胆去爬
最近我学习和实践网络爬虫,总想着在这儿抓点数据在那儿抓点数据。
但不知为什么,抓取别人网站数据时,总会产生莫名恐慌生怕自己一不小心就侵权了,然后被关在监狱摩擦
所以我想现在这个时候,非常有必要仔细研究一下有关网络爬虫的规则和底线。
我们生活中几乎每天都在爬虫应用,如百度,你在百度中搜索到的内容几乎都是爬虫采集下来的(百度自营的产品除外,如百度知道、百科等),所以网络爬虫作为一门技术,技术本身是不违法的。
哪些情况下网络爬虫采集数据后具备法律风险?
比如淘宝网,大家来看淘宝的声明。
Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(RobotsExclusionProtocol),网站通过Robots协议告诉爬虫哪些页面可以抓取,哪些页面不能抓取。
robots.txt文件是一个文本文件,使用任何一个常见的文本编辑器,比如Windows系统自带的Notepad,就可以创建和编辑它。robots.txt是一个协议,而不是一个命令。robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。robots.txt文件告诉蜘蛛程序在服务器上什么文件是可以被查看的。
如何查看采集的内容是的有rebots协议?
其实方法很简单。你想查看的话就在IE上打http://你的网址/robots.txt要是说查看分析robots的话有专业的相关工具站长工具就可以!
爬虫作为一种计算机技术就决定了它的中立性,因此爬虫本身在法律上并不被禁止,但是利用爬虫技术获取数据这一行为是具有违法甚至是犯罪的风险的。
举个例子:像谷歌这样的搜索引擎爬虫,每隔几天对全网的网页扫一遍,供大家查阅,各个被扫的网站大都很开心。这种就被定义为“善意爬虫”。但是像抢票软件这样的爬虫,对着12306每秒钟恨不得撸几万次,铁总并不觉得很开心,这种就被定义为“恶意爬虫”。
爬虫所带来风险主要体现在以下3个方面:
解释一下爬虫的定义:网络爬虫(英语:webcrawler),也叫网络蜘蛛(spider),是一种用来自动浏览万维网的网络机器人。
网络爬虫抓取的数据有如下规则:
常见错误观点:认为爬虫就是用来抓取个人信息的,与信用基础数据相关的。
总的来说,技术本无罪,但是你利用技术爬取别人隐私、商业数据,那你就是蔑视法律了
查看更多相似文章