偶尔有大数据公司被端,无良流量自媒体为博眼球,夸大事实,一句爬虫玩得好,牢饭吃得早,把想学爬虫萌新吓得瑟瑟发抖,生怕因为自己写的爬虫被拷进去,嘤嘤嘤,害怕,我:说实话,以大部分萌新的技术能力有些实在想太多,这种妄下定论的方式跟吃完虾再吃维生素C会砒霜中毒理论一样,脱离剂量谈毒性——都是耍流氓。
从技术中立角度而言,爬虫技术本身并无违法违规之处,爬什么,怎么爬才是导致锒铛入狱的罪魁祸首。Github上有个库记录了国内爬虫开发者涉诉与违规相关的新闻、资料与法律法规:
https://github.com/
1、无视robots协议,爬不给爬的数据
robots.txt,纯文本文件,网站管理者可在此文件中声明不想被搜索引擎访问的部分,或指定搜索引擎只收录的指定内容,语法简单:
通配符(*) → 匹配0个或多个任意字符;
匹配符($) → 匹配URL结尾的字符;
User-agent → 搜索引擎爬虫的名字,各大搜索引擎都有固定的名字,如百度Baisuspider,如果该项为*(通配符) 表示协议对任何搜索引擎爬虫均有效;
Disallow → 禁止访问的路径;
Allow → 允许访问的路径;
不过这个协议可以说是君子协议,防君子不防小人,无视Robots协议随意抓取网站内容,将涉嫌构成对《反不正当竞争法》的第二条的违反,即违反诚实信用原则和商业道德的不正当竞争行为。
2、 强行突破网站设置的技术措施
网站一般都会做下反爬,以减少爬虫批量访问对网站带来的巨大压力和负担。爬虫开发者通过技术手段绕过反爬,客观影响了网站的正常运行(甚至搞挂了),适用《反不正当竞争法》第十二条(四) 其他妨碍、破坏其他经营者合法提供的网络产品或者服务正常运行的行为。
而强行突破某些特定被爬放的技术措施,还可能构成刑事犯罪行为。
这里还要警惕一点:为违法违规组织提供爬虫相关服务,间接的也可能要负刑事责任,案例里的极验破解者被抓就是模板,尽管技术本身无罪,但是你开发出来了,被犯罪分子利用了,一样有责任。
3、爬取特定类型的信息
1)用户的个人隐私
2)用户的个人信息
3)著作权法保护的产品
4)商业秘密
5)反不正当竞争保护的数据
担心自己写的爬虫违法,可以对号入座看一看,总结下爬的基本操守:
先确定爬啥网站:国家事务,国防建设、尖端科学技术领域的不要碰;
确定什么内容:个人隐私、个人信息、商业秘密不要碰;著作权法保护、不正当竞争保护的数据,自己偷着乐,不传播和用作盈利还好 (如数据分析参考下~)。
爬取手段:温柔点,尽量别影响正常用户的使用,细水长流,把别人网站搞挂了,不搞你才怪。
robots协议:em…我是小人
天网恢恢,疏而不漏~
相信点进来看的小伙伴都对爬虫非常感兴趣,我也是一样的。我刚开始接触爬虫的时候,就被深深吸引了,因为感觉SO COOL啊!每当敲完代码后看着一串串数据在屏幕上浮动,感觉很有成就感,有木有?更厉害的是,爬虫的技术可以应用到很多生活场景中,例如,自动投票啊,批量下载感兴趣的文章、小说、视频啊,微信机器人啊,爬取重要的数据进行数据分析啊,切实的感觉到这些代码是给自己写的,能为自己服务,也能为他人服务,所以人生苦短,我选爬虫。
1、学习爬虫,先要了解爬虫是什么?
网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
其实,说白了就是爬虫可以模拟浏览器的行为做你想做的事,订制化自己搜索和下载的内容,并实现自动化的操作。比如浏览器可以下载小说,但是有时候并不能批量下载,那么爬虫的功能就有用武之地了。
2、爬虫学习路线
学习Python爬虫的大致步骤如下:
1).首先学会基本的Python语法知识
2).学习Python爬虫常用到的几个重要内置库urllib, http等,用于下载网页
3).学习正则表达式re、BeautifulSoup(bs4)、Xpath(lxml)等网页解析工具
4).开始一些简单的网站爬取(博主从百度开始的,哈哈),了解爬取数据过程
5).了解爬虫的一些反爬机制,header,robot,时间间隔,代理ip,隐含字段等
6).学习一些特殊网站的爬取,解决登录、Cookie、动态网页等问题
7).了解爬虫与数据库的结合,如何将爬取数据进行储存
8).学习应用Python的多线程、多进程进行爬取,提高爬虫效率
9).学习爬虫的框架,Scrapy、PySpider等
10).学习分布式爬虫(数据量庞大的需求)
3、Python 爬虫Selenium库的使用
1)基础知识
首先要使用python语言做爬虫,需要学习一下python的基础知识,还有HTML、CSS、JS、Ajax等相关的知识。 这里,列出python中一些与爬虫相关的库和框架:
1.1、urllib和urllib2
1.2、Requests
1.3、Beautiful Soup
1.4、Xpath语法与lxml库
1.5、PhantomJS
1.6、Selenium
1.7、PyQuery
1.8、Scrapy
......
因为时间有限,本文只介绍Selenium库的爬虫技术,像自动化测试,还有其它库和框架的资料,感兴趣的小伙伴可以自行学习。
2)Selenium基础
2.1、Selenium是一个用于测试网站的自动化测试工具,支持各种浏览器包括Chrome、Firefox、Safari等主流界面浏览器,同时也支持phantomJS无界面浏览器。
2.2、安装方式
pip install Selenium
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
保证100%免费
】