當前位置:
首頁 > 最新 > 使用 Python的urlliib.parse 庫解析 URL

使用 Python的urlliib.parse 庫解析 URL

Python 中的 urllib.parse 模塊提供了很多解析和組建 URL 的函數。

-- Darksun

致謝

轉載自 | https://github.com/lujun9972/lujun9972.github.com/blob/source/%E7%BC%96%E7%A8%8B%E4%B9%8B%E6%97%85/%E4%BD%BF%E7%94%A8urlliib.parse%E5%BA%93%E8%A7%A3%E6%9E%90url.org

作者 | Darksun

Python 中的 模塊提供了很多解析和組建 URL 的函數。

解析url

函數可以將 URL 解析成 對象。對象中包含了六個元素,分別為:

? 協議(scheme)

? 域名(netloc)

? 路徑(path)

? 路徑參數(params)

? 查詢參數(query)

? 片段(fragment)

結果為:

繼承於 ,因此可以同時通過索引和命名屬性來獲取 URL 中各部分的值。

為了方便起見, 還提供了 、 、 、 對 進一步進行拆分。

結果為:

除了 之外,還有一個類似的 函數也能對 URL 進行拆分,所不同的是, 並不會把 從 中分離出來。

當 URL 中路徑部分包含多個參數時,使用 解析是有問題的:

結果為:

這時可以使用 來解析:

結果為:

若只是要將 URL 後的 標識拆分出來,可以使用 函數:

結果為:

組建URL

對象和 對象都有一個 方法,可以返回一個完整的 URL 字元串。

結果為:

但是 只在 和 對象中有,若想將一個普通的元組組成 URL,則需要使用 函數:

結果為:

相對路徑轉換絕對路徑

除此之外, 還提供了一個 函數,來將相對路徑轉換成絕對路徑的 URL。

結果為:

查詢參數的構造和解析

使用 函數可以將一個 dict 轉換成合法的查詢參數:

結果為:

可以看到特殊字元也被正確地轉義了。

相對的,可以使用 來將查詢參數解析成 dict。

結果為:

如果只是希望對特殊字元進行轉義,那麼可以使用 或 函數,其中 比 更激進一些,會把 、 一類的符號也給轉義了。

結果為:

可以看到 中應該是調用 來進行轉義的。

逆向操作則使用 或 函數:

結果為:

你會發現 函數居然能正確地將 的結果轉換回來。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Python 的精彩文章:

Selenium3+Python3環境部署
Python製作AI且mini版飛機大戰

TAG:Python |