91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

前郭尔| 珠海市| 广西| 潜江市| 陈巴尔虎旗| 介休市| 山阴县| 湘潭县| 云霄县| 剑河县| 开原市| 资中县| 大荔县| 安平县| 临海市| 梁山县| 周口市| 汉川市| 泽库县| 太白县| 杂多县| 石楼县| 台南市| 柞水县| 宜宾县| 京山县| 奉新县| 朝阳区| 上林县| 句容市| 靖边县| 漳平市| 林西县| 衡东县| 西吉县| 元谋县| 德清县| 阜平县| 尼木县| 和政县| 阜城县|