文章目录
一、爬虫是什么?
网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。–《百度百科》
爬虫就是模拟客户端(浏览器)发送网络请求,获取响应,按照规则提取数据的程序。
浏览器的工作原理就是获取请求并对响应进行渲染,所以才能在用户面前呈现得这么炫酷,实际上,如果直接显示出获取的响应,就是一堆冰冷的代码。不同的浏览器对同一段代码的解析也不尽相同,这也就是为什么有的网页在手机上打开跟在电脑上打开所呈现出的效果会有所不同的原因。
所以爬虫换成更容易理解的说法,就是伪装成浏览器,去骗取服务器响应的数据,并对此其进行特殊的加工处理,再简单点说就是让服务器以为你是个浏览器然后把数据给你,结果你拿了数据不按常理出牌要用别的方法提炼精简数据并为己所用。
~突然觉得爬虫的通俗讲法有点像某马姓大师所创武林绝学:说白了就是去“骗”,去“偷袭”脆弱的服务器,而且一般都是“不讲武德”的暴力访问(通常要短时间内非常大量地连续访问同一站点的很多网页)。“接”收响应,并将其按照规则提取转“化”,最后如有必要还需要将提取到的数据“发”出去(如发送到数据库等等)。“接”-“化”-“发” 一气呵成,“训练有素”~
最后不得不提上一句,爬虫虽爽,但要适度,当心出问题。作为一名刚刚上手爬虫技术的小白,关于所爬数据是否犯法,博主找到一篇挺好的文章,通俗易懂,与大家分享:爬虫究竟是合法的还是违法的,共勉
二、爬虫的数据去哪了?
1.呈现出来
一般是呈现在网页上,或展示在APP上,亦或是保存在本地做其他用途。一般来说,爬虫获取的数据,总量巨大,使得用户能够非常快速的获取大量的信息数据,大大节约了许多人力物力资源。
举个最简单的例子,百度就是一个爬虫的集大成者。百度是中国目前的第一大搜索引擎,拥有完善的一套爬虫算法,我们可以从下面这张图片来详细了解百度蜘蛛爬取网页的一整套流程和体系。
2.进行分析
对采集到的数据进行统计,计算并分析。今年大火的大数据分析师,他们的工作顾名思义就是对大量的数据进行数学建模分析,得到更加有用的结论。而数以千万计的数据,显然不是手动录入的,这就需要依赖到爬虫了。比如这里有一个python爬虫数据分析可视化金融务实系统。
(不是我写的哈,我也希望我有朝一日也有这种功力)
三、需要的软件和环境
1.Pycharm
由JetBrains团队研发的用于开发python应用程序的IDE
-截至2020年11月27日亲测有效-
下载
破解
汉化
(经济支持的话 支持正版哈 破解汉化教程被禁了 过不了审)
当然,Java或其他编程语言理论上来讲也可以实现爬虫,但是博主酷爱Python语言的简单方便,所以这篇以及之后的文章都会使用Python语言作为爬虫开发语言。因为篇幅原因,基础的Python语法和一般的算法和数据结构不会在文中赘述。
2.Chrome 开发者工具
一套内置于 Google Chrome 中的 Web 开发和调试工具,可用来对网站进行迭代、调试和分析。
百度搜索Chrome,下载即可
因为国内很多浏览器内核都是基于 Chrome 内核,所以国产浏览器也带有这个功能。但是,做网页解析,谷歌的Chrome绝对是技压群芳的一把尚方宝剑,开发者工具的方便程度吊打如“*狗浏览器”或者“扣扣浏览器”这类国内的浏览器(没有引战的意思,确实技不如人咱得承认,努力学习、争取能尽力突破才是正道。)
3.XPath Helper
xPath helper是一款Chrome浏览器的开发者插件,安装了xPath helper后就能轻松获取HTML元素的xPath路径,程序员就再也不需要通过搜索html源代码,定位一些id去找到对应的位置去解析网页了。
如果我们要查找某一个、或者某一块元素的xpath路径,可以按住shift,并移动到这一块中,上面的框就会显示这个元素的xpath路径,右边则会显示解析出的文本内容,并且我们可以自己改动xpath路径,程序也会自动的显示对应的位置,可以很方便的帮助我们判断我们的xpath语句是否书写正确。
4.其他工具
其他工具要具体情况具体分析,一般普通的网页前几个就足够了。各路神仙哥哥姐姐还有哪些比较方便的开发工具呢?欢迎在评论区补充。
四、浏览器的请求
结语
天行健,君子以自强不息。地势坤,君子以厚德载物。
天道酬勤,诸君共勉。
下一章已经更新