亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

今天給大家?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 指可擴展標記語言(EXtensible Markup Language)。

  • XML 是一種很像HTML的標記語言。

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

  • XML 標簽沒有被預定義。您需要自行定義標簽。

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

  • XML 是 W3C 的推薦標準。

3、什么是 RSS?

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

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

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

  • RSS 文件可被自動更新

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

  • 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的詳細內(nèi)容,更多關(guān)于python xmltodict庫的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 淺析form標簽中的GET和POST提交方式區(qū)別

    淺析form標簽中的GET和POST提交方式區(qū)別

    在HTML中,form表單的作用是收集標簽中的內(nèi)容<form>...</form> 中間可以由訪問者添加類似于文本,選擇,或者一些控制模塊等等.然后這些內(nèi)容將會被送到服務(wù)端
    2021-09-09
  • 詳解解決Python memory error的問題(四種解決方案)

    詳解解決Python memory error的問題(四種解決方案)

    這篇文章主要介紹了詳解解決Python memory error的問題(四種解決方案),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • 通過python獲取甲流分布數(shù)據(jù)

    通過python獲取甲流分布數(shù)據(jù)

    近期,多地學校出現(xiàn)因甲流導致的班級停課,兒科甲流患者就診量呈數(shù)倍增長,今天我們同樣的操作來獲取下現(xiàn)在甲流感染的數(shù)據(jù),需要的朋友可以參考下
    2023-03-03
  • python-字典dict和集合set

    python-字典dict和集合set

    這篇文章主要介紹了python-字典dict和集合set,字典是python中的一種數(shù)據(jù)結(jié)構(gòu)。集合(set)與字典相同均存儲key,但只存儲key,key不可重復,所以set中的值不可重復,而且是無序,下面來看看更多相關(guān)內(nèi)容吧
    2021-12-12
  • python numpy 矩陣堆疊實例

    python numpy 矩陣堆疊實例

    今天小編就為大家分享一篇python numpy 矩陣堆疊實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python 使用元類type創(chuàng)建類對象常見應用詳解

    Python 使用元類type創(chuàng)建類對象常見應用詳解

    這篇文章主要介紹了Python 使用元類type創(chuàng)建類對象,結(jié)合實例形式詳細分析了Python元類的概念、功能及元類type創(chuàng)建類對象的常見應用技巧,需要的朋友可以參考下
    2019-10-10
  • 一文教你將Visual Studio Code變成Python開發(fā)神器

    一文教你將Visual Studio Code變成Python開發(fā)神器

    Visual Studio Code 是一款功能強大、可擴展且輕量級的代碼編輯器,經(jīng)過多年的發(fā)展,已經(jīng)成為 Python 社區(qū)的首選代碼編輯器之一。本文將為大家介紹一下如何將Visual Studio Code變成Python開發(fā)神器,需要的可以參考一下
    2022-07-07
  • tornado框架blog模塊分析與使用

    tornado框架blog模塊分析與使用

    這篇文章主要介紹了tornado框架blog模塊的使用方法,大家參考使用吧
    2013-11-11
  • Python實現(xiàn)的字典值比較功能示例

    Python實現(xiàn)的字典值比較功能示例

    這篇文章主要介紹了Python實現(xiàn)的字典值比較功能,可實現(xiàn)針對字典格式數(shù)據(jù)的判斷、比較功能,涉及Python字典格式數(shù)據(jù)的遍歷、判斷等相關(guān)操作技巧,需要的朋友可以參考下
    2018-01-01
  • Django用戶身份驗證完成示例代碼

    Django用戶身份驗證完成示例代碼

    這篇文章主要介紹了Django用戶身份驗證完成示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04

最新評論