Python爬虫基础之urllib的使用
什么是urllib
urllib是Python自带的一个HTTP库,包含了一系列用于处理URL的模块。
使用urllib可以构建HTTP请求、获取响应结果、编码URL等。
安装urllib
urllib是Python自带的库,安装Python即可使用。
urllib的模块
- urllib.request: 用于构建HTTP请求并获取HTTP响应结果的模块。
- urllib.parse: 用于处理URL的模块。
- urllib.error: 用于处理urllib产生的异常的模块。
urllib的基本使用
使用urllib构建HTTP请求的基本流程如下:
- 构建请求对象,可以使用urllib.request.Request或urllib.request.urlopen方法将URL封装成请求对象。
- 发送请求,发送前可以对请求进行修改,比如添加请求头。
- 获取响应对象,获取到响应对象后可以获取HTTP响应结果;如果出现异常,可以通过urllib.error.HTTPError来捕获。
使用urllib获取HTTP响应结果的基本流程如下:
- 调用urllib.request.urlopen方法发送HTTP请求。
- 获取响应对象,并读取响应结果,可以使用urllib.request.urlopen返回的对象、或urllib.request.Request对象来获取响应结果。
- 关闭响应对象。
urllib的示例
示例1:获取百度首页HTML代码
import urllib.request
# 1. 构建请求对象
url = 'http://www.baidu.com'
req = urllib.request.Request(url)
# 2. 发送请求
response = urllib.request.urlopen(req)
# 3. 获取响应结果
html = response.read().decode('utf-8')
# 打印结果
print(html)
# 4. 关闭响应对象
response.close()
示例2:将URL编码为百度搜索URL
import urllib.parse
# 将URL编码为百度搜索URL
keyword = 'python'
url = 'http://www.baidu.com/s?'
params = {'ie': 'utf-8',
'wd': keyword}
query_string = urllib.parse.urlencode(params)
search_url = url + query_string
# 打印结果
print(search_url)
以上两个例子分别展示了urllib的两个基本用法:构建HTTP请求和编码URL。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python爬虫基础之urllib的使用 - Python技术站