python 中 urlparse 模塊介紹


urlparse模塊主要是用於解析url中的參數  對url按照一定格式進行 拆分或拼接 

1.urlparse.urlparse

將url分為6個部分,返回一個包含6個字符串項目的元組:協議、位置、路徑、參數、查詢、片段。

1
2
3
import  urlparse
url_change  =  urlparse.urlparse( 'https://i.cnblogs.com/EditPosts.aspx?opt=1' )
print  url_change

  輸出結果為:

ParseResult(scheme='https', netloc='i.cnblogs.com', path='/EditPosts.aspx', params='', query='opt=1', fragment='')

其中 scheme 是協議  netloc 是域名服務器  path 相對路徑  params是參數,query是查詢的條件

 

urlparse.parse_qs(urlparse.urlparse(url).query)

這個是獲取urlparse分割后元祖中的某一項  urlparse.urlparse(url).query   獲取查詢條件

parse_qs 有幾種實現

urlparse.parse_qs 返回字典
urlparse.parse_qsl 返回列表

 

2. urlparse.urlsplit

和urlparse差不多,將url分為5部分,返回一個包含5個字符串項目的元組:協議、位置、路徑、查詢、片段。

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 是協議  netloc 是域名服務器  path 相對路徑 query是查詢的條件 

 

3.urlparse.urljoin

將相對的地址組合成一個url,對於輸入沒有限制,開頭必須是http://,否則將不組合前面。

import urlparse
new_url = urlparse.urljoin('https://baidu.com/ssss/','88888')
print new_url

輸出 https://baidu.com/ssss/88888

如果輸入錯誤信息 如  new_url = urlparse.urljoin('122','88888')    並不會將兩者合並   輸出‘88888’

 

最后一點 urlparse 這個模塊在 python 3.0 中 已經改名為 urllib.parse  

官方文檔地址  http://docs.python.org/library/urlparse.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM