Python爬虫之基本库的使用

引言学习爬虫,最初的操作便是模拟浏览器向服务器发出请求,那么我们需要从哪个地方开始做起呢?请求需要我们自己来构造吗?需要关心请求这个数据结构的实现嘛?需要了解HTTP、TCP、IP层的网络传输通信吗?需要直到服务器的响应和应答原理吗?可能你对这些根本不了解,也没办法下手。但是没关系,python为我们提供了功能齐全的类库来帮助我们完成这些请求。最基础的HTTP库有urllib、requests、treq等。以urllib为例,有了它,我们只需要关心请求的连接是什么。需要传的参数是什么,以及如何设置可选的请求头就好了,不用深入到底层去了解它到底是怎样传输和通信的。有了它,两行代码就可以完成一个请求和相应的处理过程,得到网页内容,是不是感觉方便极了?接下来,让我们从最基础的部分开始了解这些库的使用方法吧。使用urllib首先了解一下urllib库,它是python内置的HTTP请求库,也就是说不需要额外安装即可使用。它包含如下四个模块:request:它是最基本的HTTP请求模块,可以用来模拟发送请求。就像在浏览器里输入网址然后回车一样,只需要给库方法传入URL以及额外的参数,就可以模拟实现这个过程了。error:异常处理模块,如果出现请求错误,我们可以捕获这些异常,然后进行重试或其他操作以保证程序不会意外终止。parse:一个工具模块,提供了许多URL处理方法,比如拆分、解析、合并等。robotparser:主要是用来识别网站的robots.txt文件,然后判断哪些网站可以爬,哪些网站不能爬,它其实用的比较少。我们着重介绍前三个模块。发送请求使用urllib的request模块,我们可以方便地实现请求的发送并得到响应。我们下面来看看它的具体用法:urlopen()urllib.request模块提供了最基本的构造HTTP请求的方法,利用它可以模拟浏览器的一个请求发起过程,同时它还带有处理授权验证(authentication)、重定向(redirection)、浏览器Cookies以及其他内容。下面我们来看一下它的强大之处。这里以python


转载请注明:http://www.aierlanlan.com/rzdk/7924.html