1、urlopen()方法
urllib.request.urlopen(url[,data[,proxies]])
創建一個表示遠程url的類文件對象,然后像本地文件一樣的操作這個類文件對象來獲取遠程數據
參數url表示遠程數據的路徑,一般是指網址
參數data表示以post方式提交到url的數據(玩過web的人應該只帶提交數據的兩種方式:post和get。如果你不清楚,也不必在意,因為一般情況下這個參數很少用到)
參數proxies用於設置代理。
urlopen()返回一個類文件對象,它提供了如下方法:
read(),readline(),readlines(),fileno(),close(): 這些方法的使用方式與文件對象完全一樣。
info():返回一個httplib.HTTPMessage對象,表示遠程服務器返回的頭部信息
getcode():返回http的狀態碼,如果是http請求,200表示請求成功,404表示未找到網址
geturl():返回請求的url
2、urlretrieve方法
直接將遠程數據下載到本地
urllib.request.urlretrieve(url[,filename[,reporthook[,data]]])
參數說明
url:外部或者本地url
filename:制定了保存到本地的路徑,(如果未指定該參數,urllib會生成一個臨時文件來保存數據)
reporthook:是一個回調函數,當連接上服務器以及響應的數據模塊傳輸完畢的時候就會觸發該回調函數,我們可以用這個回調函數來顯示當前的下載進度
data:指post到服務器的數據。該方法返回一個包含兩個元素的元祖(filename,headers)filename表示保存到本地的路徑,headers表示服務器響應首部。