Python-urllib庫parse模組解析連結常用方法

來源:互聯網
上載者:User

標籤:.com   nbsp   網域名稱   請求   abc   query   col   訪問   code   

著作權聲明:本文為博主學習記錄,轉載請註明出處()urlparse()
# urllib.parse.urlparse(urlstring,scheme=‘‘,allow_fragments=True)  # urlstring : 這個是必填項,即待解析的URL  result = urlparse(‘http://www.baidu.com/index.html;user?id=5#comment‘)  print(type(result),result)    # scheme : 它是預設的協議,只有在URL中不包含scheme資訊時生效  result = urlparse(‘www.baidu.com/index.html;user?id=5#comment‘,scheme=‘https‘)  print(result)    # allow_fragments : 即是否忽略fragment 設定成False就會忽略,它會被解析為path,parameters或者query的一部分,而fragment部分為空白  result = urlparse(‘http://www.baidu.com/index.html;user?id=5#comment‘,allow_fragments=False)  print(result)    # 返回的結果其實是一個元組,我們可以通過索引來擷取,也可以用屬性名稱來擷取  # ParseResult的屬性 scheme(:// 協議),netloc(/ 網域名稱),path(訪問路徑),params(; 參數),query(查詢條件),fragment(# 錨點)  result = urlparse(‘http://www.baidu.com/index.html;user?id=5#comment‘,allow_fragments=False)  print(result.scheme,result[0],result.netloc,result[1],sep=‘\n‘) 

 

urlunparse()
# urlunparse() 長度必須為6個參數,否則會拋出參數數量不足或者過多的問題  data = [‘http‘,‘www.baidu.com‘,‘index.html‘,‘user‘,‘a=6‘,‘comment‘]  print(urlunparse(data)) 
urlsplit()
# urlsplit() 和urlparse()方法很相似,不再解析params 參數  result = urlsplit(‘http://www.baidu.com/index.html;user?id=5#comment‘)  print(result)  # 返回的結果其實也是一個元組,我們可以通過索引來擷取,也可以用屬性名稱來擷取  # SplitResult的屬性 scheme(:// 協議),netloc(/ 網域名稱),path(訪問路徑),query(查詢條件),fragment(# 錨點)  result = urlparse(‘http://www.baidu.com/index.html;user?id=5#comment‘,allow_fragments=False)  print(result.scheme,result[0])  
urlunsplit()
# urlunsplit() 和urlunparse()方法很相似,只不過長度變成5個參數  data = [‘http‘,‘www.baidu.com‘,‘index.html‘,‘a=6‘,‘comment‘]  print(urlunsplit(data)) 
urljoin()
# urljoin() 也是合并連結的一種方式,相比之前倆種方法,沒有之前特定的指定參數對象的長度  # urljoin()方法提供倆個參數,base_url(基礎連結)作為第一個參數,講新的連結作為第二個參數,該方法會分析base_url的scheme,netloc和path  # 這三個內容並對新連結確實的部分進行補充,最後返回結果  print(urljoin(‘http://www.baidu.com‘,‘https://cuiqingcai.com/FAQ.html‘))  print(urljoin(‘http://www.baidu.com/about.html‘,‘https://cuiqingcai.com/FAQ.html‘))  print(urljoin(‘http://www.baidu.com‘,‘FAQ.html‘))  print(urljoin(‘http://www.baidu.com/about.html‘,‘https://cuiqingcai.com/FAQ.html?question=2‘))  print(urljoin(‘http://www.baidu.com?wd=abc‘,‘https://cuiqingcai.com/index.php‘))  print(urljoin(‘http://www.baidu.com‘,‘?category=2#comment‘))   print(urljoin(‘www.baidu.com‘,‘?category=2#comment‘))   print(urljoin(‘www.baidu.com#comment‘,‘?category=2‘))  
urlencode()
# urlencode() 序列化字典類型轉換為請求類型  params = {      ‘name‘ : ‘germey‘,      ‘age‘ : 22  }  base_url = ‘http://www.baidu.com?‘  url = base_url + urlencode(params)  print(url)  
parse_qs()
# parse_qs() 還原序列化將請求參數轉回字典參數  from urllib.parse import parse_qs    query = ‘name=germey&age=22‘  params = parse_qs(query)  print(params)  
parse_qs1()
# parse_qs1() 它用於把參數轉化為元組組成的列表  from urllib.parse import parse_qsl    query = ‘name=germey&age=22‘  params = parse_qsl(query)  print(params) 
quote()
# quote() 該方法可以將內容轉化為URL編碼的格式,URL中帶有中文參數時,又是可能會導致亂碼的問題,用這個方法可以將中文字元轉化為URL編碼  from urllib.parse import quote    keyword = ‘壁紙‘  url = ‘http://www.baidu.coms?wd=‘+quote(keyword)  print(url)  
unquote()
# unquote() 它對應上面的方法, 可以進行URL解碼  from urllib.parse import unquote    url = ‘http://www.baidu.coms?wd=%E5%A3%81%E7%BA%B8‘  print(unquote(url))

 

Python-urllib庫parse模組解析連結常用方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.