最近,国家依法查处了部分编写爬虫程序,盗取其他公司数据的不良企业。一时间风声鹤唳,关于爬虫程序是否违法的讨论遍布程序员圈子。那么到底编写爬虫程序是否违法呢?
其爬虫下载数据,一般而言都不违法,因为爬虫爬取的数据同行也是网站上用户打开页面能够看到的数据,但是如果符合下列条件的网站进行强行数据采集时,会具有法律风险。
- 采集的站点有声明禁止爬虫采集时。
2. 网站通过Robots协议拒绝采集时。
Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol)。网站通过Robots协议告诉爬虫哪些页面可以抓取,哪些页面不能抓取。如果想查看一个网站的Robots协议,可以打开位于网站根目录下的robots.txt文件即可,例如:https://www.jd.com/robots.txt。
如果因为爬虫的问题产生官司,通常如果对方能够举证你的爬虫有破坏动产(如服务器)的行为,那么基本上打官司你会败诉并要求做出赔偿。
爬虫二十问
以下是业界某位大神关于爬虫相关问题的回答。
- 非爬虫方向的技术转行做爬虫是否可行?
答:可行,而且有一定的基础会很容易上手,至于深入的部分就看自己了。
2. 非技术转行做爬虫是否可行?
答:可行,但我认为较难,因为爬虫做深了以后是需要你了解各种相关领域知识的,而你现在对这些领域的东西一无所知,甚至可能连编程都还不知道怎么开始,起点会比有基础的人低很多。
3. 爬虫工作日常如何?加班多不多?
答:这个得看公司的,有些公司搞得都是些天天更新反爬的平台(比如工商信息相关的),那基本就是得一直盯着看会不会出问题,一不小心就会要加班。
4. 爬虫对于学生党的用处体现在哪些地方?
答:这个问题看个人,因为爬虫技术可用的地方太多了,没法一个一个地都拿出来说。比如你想搞个自动签到的工具,这其实本质上就是爬虫;比如你想搞个自动回复设定内容的机器人,这其实本质上也是爬虫。
5. 学到什么程度才能入职爬虫工程师?
答:我觉得首先发请求不用说了吧?抓包工具的使用也不用说了吧?熟练掌握XPath、正则表达式这种解析工具也是基本的,然后JSON之类的传输格式至少要了解过长啥样吧,再就是JS逆向总得会一点吧(从只改变量名函数名混淆级别的代码中找出加密参数生成部分的程度)。差不多会这些以后,再自己做几个项目,应聘个初级爬虫工程师没啥问题。
6. 如何成为一名优秀的爬虫工程师?
答:垂直爬虫做到后面本质上就是逆向,你需要有良好的逆向思维方式,并且对一些安全领域的骚东西也有一定的了解,这样你才能游刃有余地处理高难度的反爬。
7. 学爬虫的学习路线?
答:有一些Python基础就可以做爬虫了,主要是数据获取、数据解析、数据预处理、数据持久化这方面的东西,然后是一些三方库和框架,如Scrapy、Selenium WebDriver等。
8. 大约学习并从事爬虫几年才可以达到一个不错的高度?
答:这个问题也很看个人,我觉得主要看有没有需求逼迫成长吧。之前招人的时候,很多三年经验的也就比入门水平稍微好一点,他们在工作时遇到的难点几乎全是依靠自动化测试工具解决的,对逆向水平毫无增长。所以建议还是多依靠逆向手段去解决问题,成长速度会很快。
9. 薪资方面如何,在几年内可以达到15K?
答:同上,标15K及以上的招聘还是挺多的,看看招聘需求就知道大概到什么程度了。
10. 面试爬虫哪些技能点是加分项?
答:丰富且有深度的逆向经验、熟悉通信协议底层实现、有过哪些骚操作经历等,但主要还是逆向经验和反爬方面的经验。
11. 作为一名爬虫工程师,对该岗位的前景如何看待?
答:未来主要内容在App上的平台应该会越来越多,难度也会越来越高,所以对于爬虫工程师的逆向水平要求会越来越高,只会简单逆向甚至不会逆向的人找工作会越来越难。
12. 爬虫和数据挖掘是一样的吗?
答:不一样,爬虫只是将数据取回来,具体怎么分析才是数据挖掘的事情。
13. 爬虫是否和黑客差不多?
答:差很多,与上个问题类似,只不过“黑客”这个词太宽泛了,黑客也是有具体方向的。
14.千奇百怪的验证码只能对接打码平台吗?有啥其他办法?
答:自己破呗,逆向+机器学习。
15. 如何爬x平台?
答:涉及法律问题,这种针对某个平台的东西是不能细说的。
16. 爬虫违法吗?如何避免过线导致的违法?怎么规避法律风险?
答:算是擦边球吧,其实你即使遵守规则去爬别人的网站,只要人家想搞你,还是可以让你做的事情变成违法的。所以建议不要做太过分的事情,毕竟狗急了也会跳墙。
还有就是不要为一些明显是做灰黑产的人/公司写代码,一旦他们出事了,你也会被牵连。
知乎上之前那个很火的被抓了的人,从回答内容中来看其实就是做打码平台的那个微凉,他这一个平台据说赚了至少千万,主要应该是提供给做黑产的人使用了,这种情况下被抓是迟早的事。最好的避免违法的办法就是明显觉得不太好的事情就不要去碰,基本就不会有啥问题。
17. 如何有目的地爬取到真正想要的数据?
答:让需要数据的人提需求,如果你自己就是那个需要数据的人,那就去做市场调研,看看你需要的数据在哪里能找到。
18. 反爬虫最先进的技术是什么?最有效的技术是什么?
答:最先进的技术其实就是使用在PC平台上已经玩烂的各种反破解技术将行为监测点(设备指纹、用户操作等)隐藏起来,然后传给服务端做行为识别,如果操作非人类或者缺少某些东西就触发风控。
最有效的技术其实不是技术而是方法,这个方法就是账号收费,将你的数据变成需要花多少钱才能看到这样子的,就能做到啥高端技术都不用上、轻松提高爬虫方的获取数据成本的效果,当然这也需要结合良好的产品设计,否则普通用户的体验会很差。
19. 请问爬虫在x领域有哪些应用?
答:这个应该是对应领域的人自己思考一下自己拿到那些公开数据究竟可以做什么。
20. 需要大量账号的平台成本过高该怎么办?
答:人家就是依靠这种方式来提高你成本的,你如果觉得成本过高要么放弃要么换一条路线获取数据。
如果你对Python感兴趣,想要学习python,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!
😝有需要的小伙伴,可以V扫描下方二维码免费领取🆓
1️⃣零基础入门
① 学习路线
对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
② 路线对应学习视频
还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
③练习题
每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
2️⃣国内外Python书籍、文档
① 文档和书籍资料
3️⃣Python工具包+项目源码合集
①Python工具包
学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
②Python实战案例
光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
③Python小游戏源码
如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
4️⃣Python面试题
我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
上述所有资料 ⚡️ ,朋友们如果有需要的,可以扫描下方👇👇👇二维码免费领取🆓