Python簡易爬蟲以及巢狀資料型別
阿新 • • 發佈:2019-02-18
1). urllib:
官網的一句話描述是:通過url開啟任意資源。從官網的簡介來看,這個模組最初是模擬檔案模組來實現的,只是將本地的檔案路徑,改為遠端的網際網路url。常用操作有:
urlopen(url, [,data])——根據url開啟一個網頁,根據引數區分post或者get
urlretrieve()——將指定url的網頁內容複製一份到指定的本地檔案
quote()——將url中的特殊字元或漢字encode成指定編碼
unquote()——將url中的url編碼解碼
詳情參看:http://docs.python.org/2/library/urllib.html
2). urllib2:
官網的一句話描述很籠統:開啟url的拓展庫。主要是說,對url開啟的一些更復雜的操作,如操作相關的一些認證、重定向和cookie等等。這樣來看,更印證了urllib模組是模擬檔案操作實現的思路。因為這些“複雜操作”是開啟url獨有的,檔案操作確實不存在的。urllib2中沒有quote和unquote的操作,這個只在urllib中有;同時也沒有了urlretrieve。常見的操作:
urlopen(url,[,data],[,timeout])——增加了請求響應的超時時間,在urllib中需要藉助socket模組來實現,這裡更方便了,登場率也就更高了
Request.* ——添加了對Request的支援;也可以方便的操作Header裡面的東西了
詳情參看:http://docs.python.org/2/library/urllib2.html
3). urllib3:
首先,這個不是一個標準庫,是一個拓展庫。該模組的介紹重點說它的作用:提供了urllib和urllib2中沒有的連線池和檔案的post功能。由於不是標準庫,因此,需要單獨下載和安裝,地址參看:https://pypi.python.org/pypi/urllib3。雖然他是針對python2.*版本中的urllib和urllib2的遺漏功能啟動的專案,但現在也同樣支援python3.3中的開發。由於個人尚無python3的使用經驗,也就不多說什麼了。
官網的一句話描述是:通過url開啟任意資源。從官網的簡介來看,這個模組最初是模擬檔案模組來實現的,只是將本地的檔案路徑,改為遠端的網際網路url。常用操作有:
urlopen(url, [,data])——根據url開啟一個網頁,根據引數區分post或者get
urlretrieve()——將指定url的網頁內容複製一份到指定的本地檔案
quote()——將url中的特殊字元或漢字encode成指定編碼
unquote()——將url中的url編碼解碼
詳情參看:http://docs.python.org/2/library/urllib.html
2). urllib2:
官網的一句話描述很籠統:開啟url的拓展庫。主要是說,對url開啟的一些更復雜的操作,如操作相關的一些認證、重定向和cookie等等。這樣來看,更印證了urllib模組是模擬檔案操作實現的思路。因為這些“複雜操作”是開啟url獨有的,檔案操作確實不存在的。urllib2中沒有quote和unquote的操作,這個只在urllib中有;同時也沒有了urlretrieve。常見的操作:
urlopen(url,[,data],[,timeout])——增加了請求響應的超時時間,在urllib中需要藉助socket模組來實現,這裡更方便了,登場率也就更高了
Request.* ——添加了對Request的支援;也可以方便的操作Header裡面的東西了
詳情參看:http://docs.python.org/2/library/urllib2.html
3). urllib3:
首先,這個不是一個標準庫,是一個拓展庫。該模組的介紹重點說它的作用:提供了urllib和urllib2中沒有的連線池和檔案的post功能。由於不是標準庫,因此,需要單獨下載和安裝,地址參看:https://pypi.python.org/pypi/urllib3。雖然他是針對python2.*版本中的urllib和urllib2的遺漏功能啟動的專案,但現在也同樣支援python3.3中的開發。由於個人尚無python3的使用經驗,也就不多說什麼了。