第一天——初识爬虫
前言
今日份学习主要是从简单的理论上来为大家进行分析,虽然没有实操环节,但仍然是今后的爬虫生涯中必不可少的一部分。
现如今,大数据和人工智能时时刻刻伴于每一个人的生活,那么我们得知道其有一个非常重要的部分——数据。而数据又是来自什么地方?比如说相对比较原始的数据来源——走访调查;再如我们从一些开放平台进行数据的下载等。有的其他行业的朋友可能就会问了,既然数据的来源这么多那么为什么还要学习爬虫。举个例子:某网站A中能够下载出关于各个企业的公开运营数据,但在这些数据中我们仅仅只需要其中的一部分,其他的并不是我们所需要的但是这些不需要的数据却会占用大量的资源,甚至于对于一些数据在下载的时候并无法准确定位于所存储的文件之中;
如果在实际工作中或者其他必须的情况下遇到了这样的问题我们又应该怎么办?首先要知道,当数据量很大的时候人工去逐个获取整个数据或者部分缺失的数据就必然是不可取的,所以这个时候爬虫就能够帮我们很好的解决这样的问题(只要数据存在于网站之中)!!!
一、什么是爬虫?
我们先来看官方一点的说法——网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。
简单来说,爬虫就是模拟正常用户向网站服务器发起请求以获取网站中数据的一个程序。
像百度、谷歌等就是一个大型爬虫。
二、爬虫的工作原理
-
确认目标数据所在的url,即目标地址(其实就是一个网址),例如:
www.baidu.com
-
拟人化发起网络请求
-
获取服务器返回的响应数据,并从响应数据中按照一定规则提取出目标数据(该步骤称之为数据解析)
-
将解析出的目标数据进行保存,存储的媒介有很多种(如MySQL、Mongodb、excel等形式)
总结下来如下图所示
三、爬虫的规矩
做爬虫大家一定要知道的是什么能爬什么不能爬。市场上有很多割韭菜的机构过度宣传,打着万物皆可爬的口号欺骗小白,等报名后发现是万物皆爬不了(不管是从法律层次还是从技术层次上来说)的时候已经是为时已晚,所以我们在正式开始爬虫学习之前一定是要搞清楚什么是能爬的什么是不能爬的。
首先,万物皆可爬说的是从技术层次上,只要能力足够,数据在网站中,那的确什么都可以爬。
但是从法律层次来看又并不适合万物皆可爬,要知道我们国家对于私人隐私的保护是非常严苛的,泄露私人隐私是属于违法行为,如果从网站中获取到一些用户的隐私信息甚至应用于某些商业用途的话,那可以恭喜你成功找到了“从入门到入狱”的捷径。所以在今后设计爬虫程序的时候,大家一定是要分清什么数据是可爬的什么数据是不可爬的,千万不要给自己的人生找个免费套餐的捷径!!
对于爬虫而言还有一个东西是我们要了解的,即robots协议。关于此协议其实就是网站对于爬虫的一个“排除标准”,也就是说其仅是一个标准。它告诉了我们哪些页面是能够爬取的哪些页面是不能够爬取的。关于robots协议的定义、协议原则以及其写法,大家可自行查阅相关资料,此处不做详细讲解。
四、结语
专栏第一集,就像开学第一课,内容不多但含有丰富“氨基酸”。如若有侵犯到各位看官老爷的地方,请各位嘴下留情。
本专栏会持续更新,如有侵权请联系删除!