Python库urllib与urllib2主要区别分析
作为一个Python菜鸟,之前一直懵懂于urllib和urllib2,以为2是1的升级版。今天看到老外写的一篇《Python:differencebetweenurllibandurllib2》才明白其中的区别
YoumightbeintriguedbytheexistenceoftwoseparateURLmodulesinPython-urllibandurllib2.Evenmoreintriguing:theyarenotalternativesforeachother.Sowhatisthedifferencebetweenurllibandurllib2,anddoweneedthemboth?
你可能对于Python中两个独立存在的-urllib2和-urllib2感到好奇。更有趣的是:它们并不是可以相互代替的。那么这两个模块间的区别是什么,并且这两个我们都需要吗?
urlliband urllib2arebothPythonmodulesthatdoURLrequestrelatedstuffbutofferdifferentfunctionalities.Theirtwomostsignificantdifferencesarelistedbelow:
urllib和urllib2都是接受URL请求的相关模块,但是提供了不同的功能。两个最显著的不同如下:
•urllib2canacceptaRequestobjecttosettheheadersforaURLrequest,urllibacceptsonlyaURL.Thatmeans,youcannotmasqueradeyourUserAgentstringetc.
urllib2可以接受一个Request类的实例来设置URL请求的headers,urllib仅可以接受URL。这意味着,你不可以伪装你的UserAgent字符串等。
•urllibprovidestheurlencodemethodwhichisusedforthegenerationofGETquerystrings,urllib2doesn"thavesuchafunction.Thisisoneofthereasonswhyurllibisoftenusedalongwithurllib2.
urllib提供urlencode方法用来GET查询字符串的产生,而urllib2没有。这是为何urllib常和urllib2一起使用的原因。
Forotherdifferencesbetweenurllibandurllib2refertotheirdocumentations,thelinksaregivenintheReferencessection.
Tip:ifyouareplanningtodoHTTPstuffonly,checkouthttplib2,itismuchbetterthanhttpliborurlliborurllib2.
提示:如果你仅做HTTP相关的,看一下httplib2,比其他几个模块好用。
相关资料
stackoverflow上也有:ShouldIuseurlliborurllib2?
PythonDocs
- urllib
- urllib2
相关文章
- python 生成数组_Python创建数组「建议收藏」
- 我用Python分析我过去一年的消费,发现了这些
- python整除和取余写法_Python的整除和取余[通俗易懂]
- python 爬取图集谷妹子图片,按自己喜好抓取一页图片,有兴趣二次开发 抓全站
- python 多线程测试_【Python】多线程网站死链检测工具
- Python元组_python元组的定义方式
- Python: “中国大学排名定向爬虫”实例
- 【说站】Python requests如何发送请求
- 【说站】python随机数种子在多维数组的使用
- python输出unicode编码_Python以utf8编码读取文件
- python zipfile_Python 学习入门(16)—— zipfile
- 旧代码拾遗:如何在 Python 代码中修改 DNS 解析
- python做微信回复机器人_Python自动化脚本
- Python win32api_python api文档
- 一场亲子趣味运动引起的算法优化及Python实现
- 1行Python代码,把PPT转成图片,python-office功能更新~
- python巧妙实现数学阶乘n!
- python发送HTTP请求代码详解编程语言
- Python获取Linux系统内存情况详解编程语言
- python代码实例大小写转换,首字母大写,去除特殊字符详解编程语言
- Linux系统快速运行Python脚本(linux运行python脚本)
- Python变量命名规则(超级详细)
- Python编程连接MySQL:从零开始(python与mysql)
- 使用python装饰器验证配置文件示例