在真正网页浏览我们都是根据鼠标单击网页页面随后由电脑浏览器帮大家进行网络要求,那在Python中大家又怎样进行网络要求的呢?回答或许是库,实际什么库?今日简易给大伙儿列一下:
Python2: httplib.httplib2.urllib.urllib2.urllib3.requests
Python3: httplib2.urllib.urllib3.requests
Python网络要求库有点儿多,并且还看到在网上还都实用过的,那她们中间有什么关联?又该如何选择?
httplib/2:
这是一个Python内嵌http库,可是它是偏重于**层的库,一般不自己用。
而httplib2是一个根据httplib的第三方库,比httplib完成更详细,适用缓存文件.缩小等作用。
一般这两个库都用不上,假如*须自身封裝网络要求很有可能会须要使用。
urllib/urllib2/urllib3:
urlliib是一个根据httplib的顶层库,而urllib2和urllib3全是第三方库,urllib2相对性于urllib提升一些*级的作用,如:
HTTP身份认证或Cookie等,在Python3里将urllib2合拼到urllib中。
urllib3给予线程安全数据库连接池和文档post等适用,与urllib及urllib2的没有太大的关系。
requests:
requests库是一个根据urllib/3的第三方网络库,它的特性是功能齐全,API雅致。
由图中我们可以见到,针对http手机客户端python官方网文本文档也建议大家应用requests库,具体工作上requests库也是应用的比较多的库。
总的来说,大家决定挑选 requests库做为大家网络爬虫新手入门的起始点。此外之上的这种库全是同歩网络库,假如*须 分布式系统要求得话能够应用多线程网络库:aiohttp,这一后边也会为我们解读。