urlparse module1. urlparse.urlunparse()
complex tuple into ure
2. urlparse()
split url into a
fixed format.return
tuple
3.urlparse.urljoin()
#合併網域名稱和根路徑
urllib module
1.urllib.urlopen()
open url and
return file object
method:(read/readline/readlines/info/geturl/close)
2.urllib.urlretrieve()
download url to file
3.urllib.quote()
urllib.quote(urldata,safe='/'
) #與url.unquote_plus()
4.urllib.urelencode()
#接收字典的鍵值對,並將其編譯成字串,作為cgi請求的url字串的一部分.
urlencode()裡面必須是字典型別
urllib.urlopen() 通過url 獲取遠端資料
urlopen返回 乙個類檔案物件,它提供了如下方法:
read() , readline() , readlines() , fileno() , close() :這些方法的使用方式與檔案物件完全一樣;
info():返回乙個httplib.httpmessage 物件,表示遠端伺服器返回的頭資訊
geturl():返回請求的url;
引數說明:
url:外部或者本地url
filename:指定了儲存到本地的路徑(如果未指定該引數,urllib會生成乙個臨時檔案來儲存資料);
data:指post到伺服器的資料。該方法返回乙個包含兩個元素的元組(filename, headers),filename表示儲存到本地的路徑,header表示伺服器的響應頭。
urllib2:
urllib2.urlopen() 同上
urllib2.request()
request總共三個引數,除了必須要有url引數,還有下面兩個:
1.data(預設空):是伴隨 url 提交的資料(比如要post的資料),同時 http 請求將從 "
get"方式 改為 "
post
"方式。
2.headers(預設空):是乙個字典,包含了需要傳送的http報頭的鍵值對
# add_header()方法新增/修改乙個http報頭
request.add_header(
'user-agent
',user_agent#get_header()獲取乙個已有的http報頭的值,注意只能第乙個字母大寫,後面的要小寫
print request.get_header(
'user-agent'))
urllib和urllib2的主要區別(1
)urllib僅可以接受url,不能建立,設定headers的request類例項;(2
)但是urllib提供urlencode()方法用來get查詢字串的產生,而urllib2則沒有(這是urllib和urllib2經常一起使用的主要原因)
(3)編碼工作使用urllib的urlencode()函式,幫我們講key:value這樣的鍵值對轉換成『key=value』這樣的字串,解碼工作可以使用urllib的unquote()
網路程式設計之urllib和urllib2
在可供使用的網路庫中,urllib和urllib2可能是投入產出比最高的兩個。它們讓你能夠通過網路訪問檔案,就像這些檔案位於你的計算機一樣。只需要乙個簡單的函式呼叫,就幾乎可將統一資源定位符 url 可指向的任何動作作為程式的輸入。1.開啟遠端檔案 幾乎可以像開啟本地檔案一樣開啟遠端檔案,差別是只能...
urllib2使用總結
urllib2庫是涉及到url資源請求的常用庫 官方文件 urllib2 extensible library for opening urls 常用函式 urllib2.urlopen url data timeout cafile capath cadefault context url 可以是...
urllib2使用總結
urllib2是python的乙個獲取urls的元件。他以urlopen函式的形式提供了乙個非常簡單的介面,具有利用不同協議獲取urls的能力,同樣提供了乙個比較複雜的介面來處理一般情況。urllib2支援獲取不同格式的urls例如 ftp gopher等,並利用它們相關網路協議進行獲取。urlli...