实战Python网络爬虫
上QQ阅读APP看书,第一时间看更新

第5章
爬虫库Urllib

5.1 Urllib简介

Urllib是Python自带的标准库,无须安装,直接引用即可。Urllib通常用于爬虫开发、API(应用程序编程接口)数据获取和测试。在Python 2和Python 3中,Urllib在不同版本中的语法有明显的改变。

Python 2分为Urllib和Urllib2,Urllib2可以接收一个Request对象,并以此来设置一个URL的Headers,但是Urllib只接收一个URL,意味着不能伪装用户代理字符串等。Urllib模块可以提供进行Urlencode的方法,该方法用于GET查询字符串的生成,Urllib2不具有这样的功能。这也是Urllib与Urllib2经常在一起使用的原因。

在Python 3中,Urllib模块是一堆可以处理URL的组件集合,就是将Urllib和Urllib2合并在一起使用,并且命名为Urllib。

由于Urllib在不同的Python版本上有明显的区别,在实际开发中也遇到一些尴尬的情况,其中最为主要的是版本之间的互不兼容所带来的问题。

在Python 3中,Urllib是一个收集几个模块来使用URL的软件包,大致具备以下功能。

● urllib.request:用于打开和读取URL。

● urllib.error:包含提出的例外urllib.request。

● urllib.parse:用于解析URL。

● urllib.robotparser:用于解析robots.txt文件。