在 Python 中,urllib
和 urllib2
都是用于发送 HTTP 请求的标准库。两者的主要区别在于 urllib2
提供了更多的高级功能,例如 Cookie、代理等。以下是两者的用法介绍。
urllib
urllib
库包含了 urllib.request
、urllib.parse
、urllib.error
、urllib.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、代理等。