亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python urllib.parse的常用方法有哪些

發布時間:2021-12-17 14:58:56 來源:億速云 閱讀:399 作者:iii 欄目:大數據

本篇內容主要講解“python urllib.parse的常用方法有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“python urllib.parse的常用方法有哪些”吧!

urllib 是 python 的內置模塊, 主要用于處理url相關的一些操作,例如訪問url、解析url等等。

有趣的是,urllib、urllib2曾經同時出現在python2,python3又將兩個模塊合并成一個,社區又有大神提供了一個urllib3的庫,都是用于處理網絡請求相關功能,不過這些包在 requests 都是弟弟啦。

而python3中,urllib包下面用的最多的恐怕還是parse模塊,主要處理url相關的操作。特別是爬蟲應用中,用得多。

python urllib.parse的常用方法有哪些

一、urlparse

urlparse 方法是把一個完整的URL拆分成不同的組成部分,你可以根據自己的需求提取其中的某部分內容。返回結果ParseResult是namedtuple的子類,由以下10部分組成,每部分既可以通過名字獲取也可以通過下表索引得到。

python urllib.parse的常用方法有哪些

>>> from urllib import parse
>>> url = 'https://mp.weixin.qq.com/s?__biz=MjM5MzgyODQxMQ==&mid=2650366919&idx=1&sn=1b36a9f2c0921cdeac52942ec591a923#rd'
>>> result = parse.urlparse(url)

>>> print(result)
ParseResult(scheme='https', netloc='mp.weixin.qq.com', path='/s', params='', query='__biz=MjM5MzgyODQxMQ==&mid=2650366919&idx=1&sn=1b36a9f2c0921cdeac52942ec591a923', fragment='rd')

# 通過下標獲取
>>> result[0]
'https'

# 協議
>>> result.scheme
'https'

# url資源路徑
>>> result.path
'/s'
# 查詢參數
>>> result.query
'__biz=MjM5MzgyODQxMQ==&mid=2650366919&idx=1&sn=1b36a9f2c0921cdeac52942ec591a923'

# 獲取主機名
>>> result.hostname
'mp.weixin.qq.com'

二、parse_qs

parse_qs 是將查詢參數這部分內容解析裝換成字典對象

>>> parse.parse_qs(result.query)
{'__biz': ['MjM5MzgyODQxMQ=='], 'mid': ['2650366919'], 'idx': ['1'], 'sn': ['1b36a9f2c0921cdeac52942ec591a923']}
>>>

每個參數名對應的值是一個列表對象,這是因為在url規范中,一個參數名可以對應多個值。然通常在實際應用場景中一個名字只會對應一個值。

你可以用一行代碼將列表轉化為字符串

>>> {name: value[0] for name, value  in parse.parse_qs(result.query).items()}
{'__biz': 'MjM5MzgyODQxMQ==', 'mid': '2650366919', 'idx': '1', 'sn': '1b36a9f2c0921cdeac52942ec591a923'}

三、urlencode

反過來,如果由一個字典對象想轉換為url中的查詢參數,那么就可以使用urlencode方法。

>>> d = {'__biz': 'MjM5MzgyODQxMQ==', 'mid': '2650366919', 'idx': '1'}
>>> parse.urlencode(d)
'__biz=MjM5MzgyODQxMQ%3D%3D&mid=2650366919&idx=1'

四、quote

URL編碼

在URL的標準規范中,url只允許數字、字母和部分特殊符號,如果有中文,就需要使用UTF-8進行編碼,轉換成 %XX的形式,例如: 【中】UTF-8編碼的結果是:

>>> "中".encode()
b'\xe4\xb8\xad'

就會轉換成 %e4%b8%ad

python urllib.parse的常用方法有哪些

>>> parse.quote("q=中")
'q%3D%E4%B8%AD'
>>>

對于特殊符號,也會進行成對應的16進制符號, 例如 【=】 就轉換成了 %3D

五、unquote

unquote 是 quote 的逆向過程

URL解碼

>>> parse.unquote("q%3D%E4%B8%AD")
'q=中'

到此,相信大家對“python urllib.parse的常用方法有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汝阳县| 西林县| 那曲县| 信阳市| 沂源县| 即墨市| 清原| 麻城市| 沂水县| 惠来县| 龙泉市| 泾源县| 彭泽县| 崇州市| 嘉峪关市| 宁河县| 温泉县| 泗阳县| 蕲春县| 湘乡市| 鄂伦春自治旗| 郁南县| 博爱县| 和平县| 双峰县| 镇赉县| 瑞昌市| 保德县| 祥云县| 临泉县| 集安市| 八宿县| 嵊州市| 扶绥县| 麻阳| 资溪县| 尖扎县| 义乌市| 原阳县| 白银市| 灵璧县|