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

python第三方模塊xmltodict庫優(yōu)雅處理xml格式為json

 更新時間:2024年01月30日 14:19:46   作者:菜鳥童學(xué)  
這篇文章主要為大家介紹了python第三方模塊xmltodict庫優(yōu)雅處理xml格式為json實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

今天給大家?guī)硪黄P(guān)于python第三方模塊xmltodict的使用文章。

1、背景:

工作中我們經(jīng)常處理一些xml格式的數(shù)據(jù),比如在抓取某網(wǎng)站數(shù)據(jù)時,我們會取巧去抓取他的RSS訂閱信息等,那我們怎么解析這些數(shù)據(jù)呢,有一些傳統(tǒng)的類似html  lxml的工具包,今天給大家?guī)硪粋€xmltodict 優(yōu)雅處理xml格式為json的庫

2、什么是 XML?

  • XML 指可擴(kuò)展標(biāo)記語言(EXtensible Markup Language)。

  • XML 是一種很像HTML的標(biāo)記語言。

  • XML 的設(shè)計(jì)宗旨是傳輸數(shù)據(jù),而不是顯示數(shù)據(jù)。

  • XML 標(biāo)簽沒有被預(yù)定義。您需要自行定義標(biāo)簽。

  • XML 被設(shè)計(jì)為具有自我描述性。

  • XML 是 W3C 的推薦標(biāo)準(zhǔn)。

3、什么是 RSS?

  • RSS 指 Really Simple Syndication(真正簡易聯(lián)合)

  • RSS 使您有能力聚合(syndicate)網(wǎng)站的內(nèi)容

  • RSS 定義了非常簡單的方法來共享和查看標(biāo)題和內(nèi)容

  • RSS 文件可被自動更新

  • RSS 允許為不同的網(wǎng)站進(jìn)行視圖的個性化

  • RSS 使用 XML 編寫

4、xmltodict安裝

pip3 install xmltodict

5、我們看下如何使用

import xmltodict
import json
xml_str = '''
<bookstore>
  <book category="COOKING">
      <title lang="en">Everyday Italian</title>
      <author>Giada De Laurentiis</author>
      <year>2005</year>
      <price>30.00</price>
  </book>
  <book category="CHILDREN">
      <title lang="en">Harry Potter</title>
      <author>J K. Rowling</author>
      <year>2005</year>
      <price>29.99</price>
  </book>
  <book category="WEB">
      <title lang="en">Learning XML</title>
      <author>Erik T. Ray</author>
      <year>2003</year>
      <price>39.95</price>
  </book>
</bookstore>
'''
new_dict_obj = xmltodict.parse(xml_str)  # 返回一個OrderedDict類型的對象
json_str = json.dumps(new_dict_obj)  # 使用內(nèi)置的json模塊轉(zhuǎn)換成json
print(json_str)

結(jié)果如下:

{"bookstore": {"book": [{"@category": "COOKING", "title": {"@lang": "en", "#text": "Everyday Italian"}, "author": "Giada De Laurentiis", "year": "2005", "price": "30.00"}, {"@category": "CHILDREN", "title": {"@lang": "en", "#text": "Harry Potter"}, "author": "J K. Rowling", "year": "2005", "price": "29.99"}, {"@category": "WEB", "title": {"@lang": "en", "#text": "Learning XML"}, "author": "Erik T. Ray", "year": "2003", "price": "39.95"}]}}

如何轉(zhuǎn)成xml

直接上代碼

import xmltodict
new_dict_obj = {"bookstore": {"book": [{"@category": "COOKING", "title": {"@lang": "en", "#text": "Everyday Italian"}, "author": "Giada De Laurentiis", "year": "2005", "price": "30.00"}, {"@category": "CHILDREN", "title": {"@lang": "en", "#text": "Harry Potter"}, "author": "J K. Rowling", "year": "2005", "price": "29.99"}, {"@category": "WEB", "title": {"@lang": "en", "#text": "Learning XML"}, "author": "Erik T. Ray", "year": "2003", "price": "39.95"}]}}
new_xml = xmltodict.unparse(new_dict_obj)# 這里直接放dict對象
print(new_xml)

結(jié)果如下

<?xml version="1.0" encoding="utf-8"?>
<bookstore><book category="COOKING"><title lang="en">Everyday Italian</title><author>Giada De Laurentiis</author><year>2005</year><price>30.00</price></book><book category="CHILDREN"><title lang="en">Harry Potter</title><author>J K. Rowling</author><year>2005</year><price>29.99</price></book><book category="WEB"><title lang="en">Learning XML</title><author>Erik T. Ray</author><year>2003</year><price>39.95</price></book></bookstore>

6、網(wǎng)站抓取中使用

獲取xml數(shù)據(jù)源鏈接

請求數(shù)據(jù)源

import requests
import xmltodict
headers = {
}
url = "https://boyyongxin.github.io/atom.xml"
response = requests.get(url, headers=headers,verify=False)
xml_str = response.text
new_dict_obj = xmltodict.parse(xml_str)
print(new_dict_obj)

得到的結(jié)果我們就可以json方式去提取了

以上就是python第三方模塊xmltodict庫優(yōu)雅處理xml格式為json的詳細(xì)內(nèi)容,更多關(guān)于python xmltodict庫的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python強(qiáng)大的hook函數(shù)使用及應(yīng)用場景

    python強(qiáng)大的hook函數(shù)使用及應(yīng)用場景

    鉤子函數(shù)(hook function)是把我們自己實(shí)現(xiàn)的hook函數(shù)在某一時刻掛接到目標(biāo)掛載點(diǎn)上,這篇文章主要介紹了python強(qiáng)大的hook函數(shù)使用及應(yīng)用場景,需要的朋友可以參考下
    2023-05-05
  • python中with用法講解

    python中with用法講解

    在本篇文章里小編給大家整理的是關(guān)于python中with用法講解內(nèi)容,有需要的朋友們可以參考下。
    2020-02-02
  • 在Django的模型中執(zhí)行原始SQL查詢的方法

    在Django的模型中執(zhí)行原始SQL查詢的方法

    這篇文章主要介紹了在Django的模型中執(zhí)行原始SQL查詢的方法,Django是最具人氣的Python web開發(fā)框架,需要的朋友可以參考下
    2015-07-07
  • Python的變量命名規(guī)范和數(shù)據(jù)類型轉(zhuǎn)換詳解

    Python的變量命名規(guī)范和數(shù)據(jù)類型轉(zhuǎn)換詳解

    文章主要介紹了Python的變量命名規(guī)則和數(shù)據(jù)類型,包括整數(shù)、浮點(diǎn)數(shù)、字符串、布爾值和空值類型,此外,文章還闡述了不同類型之間的轉(zhuǎn)換方法,如將浮點(diǎn)數(shù)轉(zhuǎn)換為整數(shù)、將字符串轉(zhuǎn)換為數(shù)字類型或布爾值等,感興趣的朋友跟隨小編一起看看吧
    2026-03-03
  • 解決Shell執(zhí)行python文件,傳參空格引起的問題

    解決Shell執(zhí)行python文件,傳參空格引起的問題

    今天小編就為大家分享一篇解決Shell執(zhí)行python文件,傳參空格引起的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python csv實(shí)時一條一條插入且表頭不重復(fù)問題

    python csv實(shí)時一條一條插入且表頭不重復(fù)問題

    這篇文章主要介紹了python csv實(shí)時一條一條插入且表頭不重復(fù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • python圖像填充與裁剪/resize的實(shí)現(xiàn)代碼

    python圖像填充與裁剪/resize的實(shí)現(xiàn)代碼

    這篇文章主要介紹了python圖像填充與裁剪/resize,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • Tensorflow Summary用法學(xué)習(xí)筆記

    Tensorflow Summary用法學(xué)習(xí)筆記

    這篇文章主要介紹了Tensorflow Summary用法學(xué)習(xí)筆記,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • pycharm 無法加載文件activate.ps1的原因分析及解決方法

    pycharm 無法加載文件activate.ps1的原因分析及解決方法

    這篇文章主要介紹了pycharm報錯提示:無法加載文件\venv\Scripts\activate.ps1,因?yàn)樵诖讼到y(tǒng)上禁止運(yùn)行腳本,解決方法終端輸入get-executionpolicy,回車返回Restricted即可,需要的朋友可以參考下
    2022-11-11
  • python百行代碼實(shí)現(xiàn)漢服圈圖片爬取

    python百行代碼實(shí)現(xiàn)漢服圈圖片爬取

    這篇文章主要為大家介紹了使用python百行代碼來實(shí)現(xiàn)漢服圈的圖片爬取,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-11-11

最新評論

会泽县| 华阴市| 寿宁县| 资兴市| 延安市| 寿宁县| 辛集市| 清苑县| 隆子县| 靖安县| 图木舒克市| 无锡市| 迭部县| 巴楚县| 安溪县| 成武县| 西乌珠穆沁旗| 农安县| 海阳市| 喜德县| 黄陵县| 宝清县| 肇州县| 潞城市| 厦门市| 巴东县| 淅川县| 冷水江市| 武威市| 高阳县| 佛学| 信阳市| 当阳市| 扶风县| 喀什市| 理塘县| 文山县| 芜湖市| 东阳市| 西吉县| 德安县|