標籤:狀態代碼 元祖 http請求 open 串連 urllib 頭部 web geturl
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表示伺服器響應首部。
urlopen()&urlretrieve()