urllib是python自带的模块,使用时直接导入即可,不需要下载安装。在写爬虫时,需要用到urllib模块下的request模块。下面我们通过一个简单的例子来进行说明。
from urllib import request
url = r"http://www.baidu.com/"
# 发送请求,获取响应信息
response = request.urlopen(url).read()
print(response)
上面我们获取了百度首页的信息:首先定义一个url,之后发送请求,获取响应信息,其中read()函数用于读取返回的内容(如果不添加read()函数,则只返回响应状态码)。此时,我们获取的信息中中文是以一个中间状态的二进制(字节码)显示的,查看响应信息字符类型,返回结果为:
那么,如何将中文正常显示呢?我们使用decode()函数对响应内容进行解码:
response = request.urlopen(url).read().decode() #解码
此时再执行程序,响应信息中的中文就可以正常显示了。