python中urlparse模塊介紹與使用示例
簡(jiǎn)介
urlparse模塊主要是用于解析url中的參數(shù) 對(duì)url按照一定格式進(jìn)行 拆分或拼接。urlparse庫用于把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)的說明,在Python3.0中,此庫已經(jīng)更名為urllib.parse了。
使用說明
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ì)于輸入沒有限制,開頭必須是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)庫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í)候可以先通過dir(urlparse)查看模塊urlparse是否有相應(yīng)的方法。
官方文檔地址 http://docs.python.org/library/urlparse.html
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
Python寫的創(chuàng)建文件夾自定義函數(shù)mkdir()
利用python的socket發(fā)送http(s)請(qǐng)求方法示例
關(guān)于Pycharm無法debug問題的總結(jié)
利用Python對(duì)文件夾下圖片數(shù)據(jù)進(jìn)行批量改名的代碼實(shí)例

