第一次接触到python是一个很偶然的因素,由于经常在网上看连载小说,很多小说都是上几百的连载。因此想到能不能自己做一个工具自动下载这些小说,然后copy到电脑或者手机上,这样在没有网络或者网络信号不好的时候都可以看。当时还不知道网络爬虫的概念。工作学习中用得最多的是C编程,但是对于网络世界而言,C确实不是一个好的语音,C更多面向硬件和内核。基于想自己下载网络小说的念头,认识到了python.使用过后真是觉得是一门适合网络的语言,加上数不清的第三方库可以使用。适合快速开发。当然python也在数据分析,自然语义方面也有很多优势。这里主要介绍在网络方面的应用。
说到网络,和我们最接近的就是网页了。网页主要技术是http,当然还有javascript,XML,JSON,TCP连接等一大堆前端,后端的东东,关于http的知识这里不做多的描述,推荐看下http权威指南。
网页都是用html语言写的,关于HTML语言W3CSCHOOL上面有大量的介绍。而网络爬虫就是主要针对HTML语言而言。不如下面的百度的界面,用google浏览器点击F12,IE右击鼠标,然后选择查看网页源代码。左边是我们上网看到的百度页面,右边就是html源代码。被script包含的部分就是javascript。 这个页面主要是动态加载的页面,显示的内容主要是用javascript来驱动。看上去还不太直观。下面我们看一个更简单的
在百度一下上右击鼠标,然后选择审查元素,对于的HMTL代码就显示出来
具体的代码:可以看到百度一下的这几个字在input元素里面,代表的是这是一个输入框
也许有人问,这和网络爬虫以及下载小说有啥关系,别急,前面的只是个网页的入门介绍。下面我们来看个小说的界面:下面是迅读网的小说,左边是小说正文,右边是相关的网页代码。大家看到没有,所有的小说正文都包含在标签是<div>并且id=”content_1”的的元素里面
如果我们能有工具能自动将HTML代码对应元素内容自动下载下来。不就可以自动下载小说了。这就是网络爬虫的功能,说白了网络爬虫就是解析HMTL代码并保存下来然后进行后处理的。简单来说就三个步骤:1 解析网页得到数据,2 保存数据 3 数据的后处理。下一章我们就首先从第一步解析网页得到数据开始。