最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python利用yarl實(shí)現(xiàn)輕松操作url

 更新時(shí)間:2022年10月23日 14:29:12   作者:費(fèi)弗里  
在諸如網(wǎng)絡(luò)爬蟲、web應(yīng)用開發(fā)等場(chǎng)景中,我們需要利用Python完成大量的url解析、生成等操作。本文為大家介紹了Pythonyarl操作url的方法,需要的可以了解一下

1.簡(jiǎn)介

大家好我是費(fèi)老師,在諸如網(wǎng)絡(luò)爬蟲、web應(yīng)用開發(fā)等場(chǎng)景中,我們需要利用Python完成大量的url解析、生成等操作。

而在Python生態(tài)中,無論是使用諸如urllib之類的標(biāo)準(zhǔn)庫(kù),還是各種第三方庫(kù),可以用來有效處理url的方法都非常之豐富。而今天費(fèi)老師我要給大家介紹的url處理庫(kù),則是我在實(shí)際使用中綜合考慮簡(jiǎn)單易用性與運(yùn)算速度后,最為滿意的。

2.在Python中利用yarl高效處理url

這個(gè)可以用來高效便捷處理url的第三方庫(kù)叫做yarl,使用pip install yarl完成安裝后,下面我們來快速學(xué)習(xí)其主要的一些功能方法:

2.1 利用yarl解析url信息

基于yarl中的URL(),我們可以從任意合法的url中解析出下圖所示的各個(gè)構(gòu)成部分:

先來看一個(gè)簡(jiǎn)單的例子,其中對(duì)我保管每一篇博客文章附件的github倉(cāng)庫(kù)路徑url進(jìn)行解析:

from yarl import URL

url = URL('https://github.com/CNFeffery/DataScienceStudyNotes/tree/master/%E5%8E%86%E5%8F%B2%E6%96%87%E7%AB%A0%E9%99%84%E4%BB%B6%E5%88%97%E8%A1%A8')

原始的網(wǎng)址由于包含了中文等非ASCII字符,所以粘貼到代碼中后變成了url編碼后的樣子,直接調(diào)用human_repr()方法即可進(jìn)行解碼還原:

而通過獲取對(duì)應(yīng)url各部分名稱的屬性,即可分別提取出相應(yīng)信息:

其中端口信息是基于scheme信息按照常規(guī)情況進(jìn)行推斷的,http即為80https即為443,若需要獲取url中顯式出現(xiàn)的端口信息,可以使用explicit_port

針對(duì)url中的hash標(biāo)簽信息則可以通過fragment取得:

若要解析的url中包含query參數(shù)信息,則可以直接調(diào)用query得到MultiDict類型的返回結(jié)果,這是種特殊的字典類型,它允許存在重復(fù)的鍵,對(duì)于不存在重復(fù)的鍵值對(duì),可以像普通字典那樣索引值,否則則需要通過getall()方法來返回所傳入鍵對(duì)應(yīng)的所有值列表:

可以感受到通過yarl解析url非常的方便~

2.2 利用yarl構(gòu)造url

當(dāng)我們需要基于已有的各部分信息構(gòu)造url時(shí),yarl就更加方便了,基礎(chǔ)的方式是基于URL.build()方法,以函數(shù)傳參的方式定義url

而如果你已經(jīng)有了具體存在的yarl.URL對(duì)象,想在此基礎(chǔ)上進(jìn)行其他部分內(nèi)容的設(shè)置,則可以使用一系列名稱格式為with_xxx()的方法,其中xxx就對(duì)應(yīng)著各個(gè)部分的名稱:

特別地,針對(duì)查詢參數(shù)部分,還專門有update_query()方法進(jìn)行參數(shù)追加,它與with_query()的區(qū)別可以從下面的例子中體會(huì)到:

2.3 利用/、%運(yùn)算符快捷合成url

yarl中,針對(duì)/、%運(yùn)算符進(jìn)行了重寫,以支持類似下面例子的快捷操作,非常的方便:

除了上面介紹的yarl常用功能以外,還有譬如利用is_absolute()方法判斷url是否為絕對(duì)路徑等其他實(shí)用功能,感興趣的讀者朋友們可以前往官方文檔了解更多(https://yarl.aio-libs.org/en/latest/index.html)。

到此這篇關(guān)于Python利用yarl實(shí)現(xiàn)輕松操作url的文章就介紹到這了,更多相關(guān)Python yarl操作url內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python?matplotlib數(shù)據(jù)可視化圖繪制

    Python?matplotlib數(shù)據(jù)可視化圖繪制

    這篇文章主要介紹了Python?matplotlib數(shù)據(jù)可視化圖繪制,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-07-07
  • python問題匯總之pycharm查找不到安裝的庫(kù)解決

    python問題匯總之pycharm查找不到安裝的庫(kù)解決

    這篇文章主要給大家介紹了關(guān)于python問題匯總之pycharm查找不到安裝庫(kù)的解決方法,PyCharm是一款非常流行的Python集成開發(fā)環(huán)境(IDE),它提供了豐富的功能和插件,可以幫助程序員更高效地編寫Python代碼,需要的朋友可以參考下
    2023-09-09
  • PyTorch常用函數(shù)torch.cat()中dim參數(shù)使用說明

    PyTorch常用函數(shù)torch.cat()中dim參數(shù)使用說明

    這篇文章主要為大家介紹了PyTorch常用函數(shù)torch.cat()中dim參數(shù)使用說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • pycharm 解除默認(rèn)unittest模式的方法

    pycharm 解除默認(rèn)unittest模式的方法

    今天小編就為大家分享一篇pycharm 解除默認(rèn)unittest模式的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • python編寫第一個(gè)交互程序步驟示例教程

    python編寫第一個(gè)交互程序步驟示例教程

    這篇文章主要為大家介紹了python編寫第一個(gè)交互程序示例教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • 非常全面的Python常見基礎(chǔ)面試題及答案

    非常全面的Python常見基礎(chǔ)面試題及答案

    Python是目前編程領(lǐng)域最受歡迎的語(yǔ)言,Python可用于許多領(lǐng)域,Web應(yīng)用程序開發(fā),自動(dòng)化,數(shù)學(xué)建模,大數(shù)據(jù)應(yīng)用程序等等,這篇文章主要給大家介紹了關(guān)于Python常見基礎(chǔ)面試題及答案的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • Python教程之基本運(yùn)算符的使用(上)

    Python教程之基本運(yùn)算符的使用(上)

    Python?運(yùn)算符通常用于對(duì)值和變量執(zhí)行操作。這些是用于邏輯和算術(shù)運(yùn)算的標(biāo)準(zhǔn)符號(hào)。在本文中,我們將研究不同類型的?Python?運(yùn)算符,感興趣的可以了解一下
    2022-09-09
  • 解決jupyter notebook 前面書寫后面內(nèi)容消失的問題

    解決jupyter notebook 前面書寫后面內(nèi)容消失的問題

    這篇文章主要介紹了解決jupyter notebook 前面書寫后面內(nèi)容消失的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • 詳解python 內(nèi)存優(yōu)化

    詳解python 內(nèi)存優(yōu)化

    這篇文章主要介紹了python 內(nèi)存優(yōu)化的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-08-08
  • python爬蟲之線程池和進(jìn)程池功能與用法詳解

    python爬蟲之線程池和進(jìn)程池功能與用法詳解

    這篇文章主要介紹了python爬蟲之線程池和進(jìn)程池功能與用法,結(jié)合實(shí)例形式分析了Python基于線程池與進(jìn)程池的爬蟲功能相關(guān)操作技巧與使用注意事項(xiàng),需要的朋友可以參考下
    2018-08-08

最新評(píng)論

古田县| 房山区| 托克逊县| 太康县| 鹤庆县| 平阴县| 抚远县| 隆昌县| 高碑店市| 肥东县| 桐庐县| 报价| 延寿县| 大姚县| 水城县| 赞皇县| 南木林县| 南阳市| 澎湖县| 宁海县| 山丹县| 鹿泉市| 图木舒克市| 龙胜| 新邵县| 卢氏县| 佛教| 琼结县| 佛山市| 龙岩市| 岱山县| 三明市| 通化县| 衡水市| 石泉县| 东丽区| 江山市| 邢台县| 新乡市| 广昌县| 兰州市|