Python 模塊 urllib.parse

Python 模塊 urllib.parse

Python 的模塊 urllib.parse 對 URL 進行操作,例如解析或者創建 URL。

解析 Parsing


使用 urlparse() 函數解析 URL,返回的是一個 ParseResult 對象。

Python 模塊 urllib.parse

執行:

Python 模塊 urllib.parse

函數 urlsplit() 和 urlparse() 功能類似,但是有一點點的不同,因為它不會解析路徑中的參數,這樣支持標準 RFC 2396。

Python 模塊 urllib.parse

執行:

Python 模塊 urllib.parse

查看輸出,參數到了路徑 path 上面,屬性 params 沒有了。

urldefrag() 函數去掉 URL 中的 fragments。

Python 模塊 urllib.parse

執行:

Python 模塊 urllib.parse

創建 URL


urljoin() 根據當前 URL,從相對路徑(relative)構造新的 URL。

Python 模塊 urllib.parse

執行:

Python 模塊 urllib.parse

編碼、解碼 URL 參數


當構造 URL 的參數時,需要編碼特殊的字符,例如空格轉換為加號,使用 urlencode() 函數,把一個字典轉為 URL 格式字符串。

Python 模塊 urllib.parse

執行:

Python 模塊 urllib.parse

使用 doseq 參數,把一個序列屬性值在 URL 中分隔開。

使用 parse_qs() 和 parse_qsl() 解碼 URL 中的查詢字符串(query string),他們之間有什麼不同請看下面的例子。

Python 模塊 urllib.parse

執行:

Python 模塊 urllib.parse

parse_qs() 轉換為鍵值的字典,而 parse_qsl() 轉換為一個鍵值元組的序列。

quote() 和 quote_plus() 為添加到 URL 的字符串進行轉義,防止服務端解析 URL 時出現問題。

Python 模塊 urllib.parse

執行:

Python 模塊 urllib.parse

quote_plus() 函數要比 quote() 轉義更多字符。

unquote() 函數和 unquote_plus() 反解析由 quote() 和 quote_plus() 編碼的字符串。

Python 模塊 urllib.parse

執行:

Python 模塊 urllib.parse


分享到:


相關文章: