python中urlparse模塊介紹與使用示例
簡(jiǎn)介
urlparse模塊主要是用于解析url中的參數(shù) 對(duì)url按照一定格式進(jìn)行 拆分或拼接。urlparse庫(kù)用于把url解析為各個(gè)組件,支持file,ftp,http,https, imap, mailto, mms, news, nntp, prospero, rsync, rtsp, rtspu, sftp, shttp, sip, sips, snews, svn, svn+ssh, telnet等幾乎所有的形式。
注意:根據(jù)其官網(wǎng)的說(shuō)明,在Python3.0中,此庫(kù)已經(jīng)更名為urllib.parse了。
使用說(shuō)明
1.urlparse.urlparse
將url分為6個(gè)部分,返回一個(gè)包含6個(gè)字符串項(xiàng)目的元組:協(xié)議、位置、路徑、參數(shù)、查詢、片段。
import urlparse
url_change = urlparse.urlparse('https://i.cnblogs.com/EditPosts.aspx?opt=1')
print url_change
輸出結(jié)果為:
ParseResult(scheme='https', netloc='i.cnblogs.com', path='/EditPosts.aspx', params='', query='opt=1', fragment='')
其中 scheme 是協(xié)議 netloc 是域名服務(wù)器 path 相對(duì)路徑 params是參數(shù),query是查詢的條件
urlparse.parse_qs(urlparse.urlparse(url).query)
這個(gè)是獲取urlparse分割后元祖中的某一項(xiàng) urlparse.urlparse(url).query 獲取查詢條件
parse_qs 有幾種實(shí)現(xiàn)
- urlparse.parse_qs 返回字典
- urlparse.parse_qsl 返回列表
2. urlparse.urlsplit
和urlparse差不多,將url分為5部分,返回一個(gè)包含5個(gè)字符串項(xiàng)目的元組:協(xié)議、位置、路徑、查詢、片段。
import urlparse
url_change = urlparse.urlsplit('https://i.cnblogs.com/EditPosts.aspx?opt=1')
print url_change
SplitResult(scheme='https', netloc='i.cnblogs.com', path='/EditPosts.aspx', query='opt=1', fragment='')
其中 scheme 是協(xié)議 netloc 是域名服務(wù)器 path 相對(duì)路徑 query是查詢的條件
3.urlparse.urljoin
將相對(duì)的地址組合成一個(gè)url,對(duì)于輸入沒(méi)有限制,開(kāi)頭必須是http://,否則將不組合前面。
import urlparse
new_url = urlparse.urljoin('https://baidu.com/ssss/','88888')
print new_url
輸出 https://baidu.com/ssss/88888
如果輸入錯(cuò)誤信息 如 new_url = urlparse.urljoin('122','88888') 并不會(huì)將兩者合并 輸出‘88888'
urlparse獲取url后面的參數(shù)
如果給定你一個(gè)URL,比如: http://url/api?param=2¶m2=4 我們需要獲取參數(shù)名和參數(shù)值的話,那可以用到python標(biāo)準(zhǔn)庫(kù)urlparse
import urlparse def qs(url): query = urlparse.urlparse(url).query return dict([(k,v[0]) for k,v in urlparse.parse_qs(query).items()])
print qs('http://url/api?param=2¶m2=4') 返回的結(jié)果: {'param':'2','param2':'4'}
注意:這個(gè)模塊的parse_qs方法在2;5的版本是不存在的,只有2.5以上的才有,你需要調(diào)用該方法的時(shí)候可以先通過(guò)dir(urlparse)查看模塊urlparse是否有相應(yīng)的方法。
官方文檔地址 http://docs.python.org/library/urlparse.html
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
Python編寫(xiě)memcached啟動(dòng)腳本代碼實(shí)例
這篇文章主要介紹了Python編寫(xiě)memcached啟動(dòng)腳本代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
使用Python實(shí)現(xiàn)SSH隧道界面功能
Django如何實(shí)現(xiàn)內(nèi)容緩存示例詳解
python讀取csv和txt數(shù)據(jù)轉(zhuǎn)換成向量的實(shí)例
python paramiko模塊學(xué)習(xí)分享

