urllib、urllib2、urllib3、request的详细区别


1、在Python 3以后的版本中,urllib2这个模块已经不单独存在(也就是说当你import urllib2时,系统提示你没这个模块,会报错),urllib2被合并到了urllib中,叫做urllib.request 和 urllib.error 。【urllib已经弃用】

2、其中urllib2.urlopen()变成了 urllib.request.urlopen()  ;urllib2.Request()变成了 urllib.request.Request() 

3、urllib 是一个用来处理网络请求的python标准库,它包含4个模块。

①urllib.request---请求模块,用于发起网络请求

②urllib.parse---解析模块,用于解析URL:详见:from urllib import parse模块的使用:url的解析,合并,编码,解码

③urllib.error---异常处理模块,用于处理request引起的异常

④urllib.robotparser robots.tx---用于解析robots.txt文件

5、urllib2 是Python2 的http访问库,是python内置标准库;urllib同样是python的内置标准库;

6、requests 是第三方http访问库,需要安装。 requests 友好度高一些,推荐使用 requests。

7、urllib3 是一个基于python3的功能强大,友好的http客户端。越来越多的python应用开始采用urllib3.它提供了很多python标准库里没有的重要功能

8、在python2.x里面有urllib和urllib2;在python3.x里面就把urllib和urllib2合成一个urllib;urllib3是在python3.x了里面新增的第三方扩展。

9、具体区别可查看:https://zhuanlan.zhihu.com/p/92847111以及https://blog.csdn.net/zd147896325/article/details/78957901以及