Python中urllib与urllib2模块的变化与使用详解
urllib与urllib2
urllib
和urllib2
是Python内置的处理URL的标准库,其中urllib
仅支持Python 2版本,而在Python 3中,urllib
被拆分成了urllib.request
,urllib.parse
,urllib.error
和urllib.robotparser
四个子模块。而urllib2
在Python 3中已经被合并到了urllib.request
中。
urllib
urllib.request
使用urllib.request
模块获取远程数据的一般步骤如下:
- 构建Request对象。
- 通过Request对象的
open()
方法打开网址,并返回一个response
对象。 - 对
response
对象进行读取操作,获取网页内容。
示例代码如下:
import urllib.request
url = "http://www.baidu.com"
req = urllib.request.Request(url)
response = urllib.request.urlopen(req)
html = response.read().decode('utf-8')
print(html)
上述代码实现的功能是打开百度首页,并将其内容存放在html
变量中。
urllib.parse
urllib.parse
模块用于URL解析和操作。使用urllib.parse
模块的示例代码如下:
from urllib.parse import urlparse
url = "https://www.google.com/search?q=python"
result = urlparse(url)
print(result.scheme, result.netloc, result.path, result.query)
上述代码的输出结果为:
https www.google.com /search q=python
urllib2
在Python2中,可以引入urllib2
模块实现包括URL打开、网络请求等操作,通过使用urllib2
,可以实现更加复杂多样的功能。示例代码如下:
import urllib2
url = "http://www.baidu.com"
req = urllib2.Request(url)
response = urllib2.urlopen(req)
html = response.read()
print(html)
上述代码实现的功能与前面的urllib
示例代码类似。需要注意的是,在Python3中,urllib2
已经被废弃,需要使用urllib.request
模块代替。
总结
本文简要介绍了Python中的urllib
和urllib2
模块,以及在Python3中对urllib
模块的更改。同时,给出了一些使用示例供读者借鉴。
参考资料
- Python 3官方文档-urllib.request
- Python 3官方文档-urllib.parse
- Python 2官方文档-urllib2
- Python urllib和urllib2模块详解 - 陈皓
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python中urllib与urllib2模块的变化与使用详解 - Python技术站