分享下Python庫urllib與urllib2用法區別,初學Python的同學常有此困惑,今天一揭謎底。
學習Python,一直不明白urllib和urllib2的區別,以為2是1的升級版。今天看到老外寫的一篇《Python: difference between urllib and urllib2》才明白其中的區別
You might be intrigued by the existence of two separate URL modules in Python -urllib and urllib2. Even more intriguing: they are not alternatives for each other. So what is the difference between urllib and urllib2, and do we need them both?
你可能對於Python中兩個獨立存在的-urllib2和-urllib2感到好奇。更有趣的是:它們並不是可以相互代替的。那麼這兩個模塊間的區別是什麼,並且這兩個我們都需要嗎?
urllib and urllib2are both Python modules that do URL request related stuff but offer different functionalities. Their two most significant differences are listed below:
urllib 和urllib2都是接受URL請求的相關模塊,但是提供了不同的功能。兩個最顯著的不同如下:
•urllib2 can accept a Request object to set the headers for a URL request,urllib accepts only a URL. That means, you cannot masquerade your User Agent string etc.
urllib2可以接受一個Request類的實例來設置URL請求的headers,urllib僅可以接受URL。這意味著,你不可以偽裝你的User Agent字符串等。
•urllib provides the urlencode method which is used for the generation of GET query strings, urllib2 doesn't have such a function. This is one of the reasons why urllib is often used along with urllib2.
urllib提供urlencode方法用來GET查詢字符串的產生,而urllib2沒有。這是為何urllib常和urllib2一起使用的原因。
For other differences between urllib and urllib2 refer to their documentations, the links are given in the References section.
Tip: if you are planning to do HTTP stuff only, check out httplib2, it is much better than httplib or urllib or urllib2.
提示:如果你僅做HTTP相關的,看一下httplib2,比其他幾個模塊好用。
Python解析xml文檔實例 http://www.linuxidc.com/Linux/2012-02/54760.htm
《Python核心編程 第二版》.(Wesley J. Chun ).[高清PDF中文版] http://www.linuxidc.com/Linux/2013-06/85425.htm
《Python開發技術詳解》.( 周偉,宗傑).[高清PDF掃描版+隨書視頻+代碼] http://www.linuxidc.com/Linux/2013-11/92693.htm
Python腳本獲取Linux系統信息 http://www.linuxidc.com/Linux/2013-08/88531.htm
在Ubuntu下用Python搭建桌面算法交易研究環境 http://www.linuxidc.com/Linux/2013-11/92534.htm
Python 語言的發展簡史 http://www.linuxidc.com/Linux/2014-09/107206.htm
Python 的詳細介紹:請點這裡
Python 的下載地址:請點這裡