Python中urllib和urllib2库的用法

在 Python 中,urlliburllib2 都是用于发送 HTTP 请求的标准库。两者的主要区别在于 urllib2 提供了更多的高级功能,例如 Cookie、代理等。以下是两者的用法介绍。

urllib

urllib 库包含了 urllib.requesturllib.parseurllib.errorurllib.robotparser 四个模块,分别用于发送请求、解析 URL、处理错误和解析 robots.txt 文件。以下是一个简单的例子,演示了如何使用 urllib 发送 HTTP 请求:

import urllib.request

response = urllib.request.urlopen('http://www.example.com')
html = response.read()
print(html)

在这个例子中,我们使用 urllib.request.urlopen() 函数发送了一个 HTTP GET 请求,并获取了响应的 HTML 内容。如果请求成功,html 变量将包含网页的 HTML 代码。

urllib2

urllib2 库是 urllib 的升级版,提供了更多的高级功能,例如 Cookie、代理等。以下是一个简单的例子,演示了如何使用 urllib2 发送 HTTP 请求:

import urllib2

request = urllib2.Request('http://www.example.com')
response = urllib2.urlopen(request)
html = response.read()
print(html)

在这个例子中,我们使用 urllib2.Request() 函数创建了一个 HTTP 请求对象,并使用 urllib2.urlopen() 函数发送请求并获取响应。如果请求成功,html 变量将包含网页的 HTML 代码。

需要注意的是,urllib2 库在 Python 3.x 中已经被合并到 urllib 库中,因此在 Python 3.x 中只需要使用 urllib 库即可。同时,urllib 库也提供了类似 urllib2 的高级功能,例如 Cookie、代理等。