python?中?lxml?的?etree?標簽解析
更新時間:2022年04月02日 14:20:08 作者:autofelix
這篇文章主要介紹了python?中l(wèi)xml的etree?標簽解析,文章圍繞主題展開詳細內容,需要的小伙伴可以參考一下,希望對你的學習或工作有所幫助
一、安裝
pip install lxml
二、創(chuàng)建標簽
from lxml import etree root = etree.Element('root')
三、添加子節(jié)點
from lxml import etree root = etree.Element('root') span = etree.SubElement(root, 'span')
四、刪除子節(jié)點
from lxml import etree root = etree.Element('root') span = etree.SubElement(root, 'span') root.remove(span)
五、刪除所有子節(jié)點
from lxml import etree root = etree.Element('root') root.clear()
六、操作子節(jié)點
from lxml import etree root = etree.Element('root') span = etree.SubElement(root, 'span') # 獲取標簽數 len(root) # 獲取標簽索引號,如果有多個相同標簽的話,可以區(qū)分 root.index(span) # 按位置插入 root.insert(0, etree.Element('p')) # 尾部添加 root.append(etree.Element('strong'))
七、獲取父節(jié)點
獲取標簽父節(jié)點的兩種方法:
from lxml import etree root = etree.Element('root') span = etree.SubElement(root, 'span') # 獲取父節(jié)點方法一 span.getparent().tag # 獲取父節(jié)點方法二,用列表獲取子節(jié)點,再獲取父節(jié)點 root[0].getparent().tag
八、創(chuàng)建屬性
from lxml import etree root = etree.Element('root') root.set('title', '這是一個root標簽')
九、獲取屬性
獲取屬性的三種方法
from lxml import etree root = etree.Element('root') # 獲取屬性方法一 root.get('title') # 獲取屬性方法二,參考字典的操作 root.keys(),root.values(),root.items() # 獲取屬性方法三,直接拿到屬性存放的字典 root.attrib
十、設置標簽文本
添加文本和追加文本
from lxml import etree root = etree.Element('root') # 標簽內添加文本 root.text='i am autofelix' # 標簽后追加文本 root.tail = 'i am autofelix'
十一、xpath方法
from lxml import etree root = etree.Element('root') word = root.xpath('//text()') word[0].getparent().tag
十二、判斷文本類型
from lxml import etree root = etree.Element('root') word = root.xpath('//text()') # 是否是text文本 word.is_text # 是否是tail文本 word.is_tail
十三、字符串解析
from lxml import etree html = etree.fromstring('<root>autofelix</root>') html.tag etree.tostring(html)
十四、XML解析
from lxml import etree html = etree.XML('<root>autofelix</root>') html.tag etree.tostring(html)
十五、去除XML中的空行
from lxml import etree # 去除xml文件里的空行 parser= etree.XMLParser(remove_blank_text=True) root = etree.XML('<root> auto felix </root>', parser) print etree.tostring(root)
十六、HTML解析
HTML方法,如果沒有<html>和<body>標簽,會自動補上
from lxml import etree html = etree.HTML('<root>autofelix</root>') etree.tostring(html)
十七、搜索和定位
from lxml import etree root = etree.XML('<root><a class="uname">i am autofelix<b/><c/><b/></a></root>') # findall操作返回列表 root.findall('a')[0].text # find操作就相當與找到了這個元素節(jié)點,返回匹配到的第一個元素 root.find('.//a').text # 配合列表解析 [ b.text for b in root.findall('.//a') ] # 根據屬性查詢 root.findall('.//a[@class]')[0].tag
到此這篇關于python 中 lxml 的 etree 標簽解析的文章就介紹到這了,更多相關python etree 標簽內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
windows上安裝Anaconda和python的教程詳解
本文主要給大家介紹windows上安裝Anaconda和python的教程詳解,非常不錯,具有參考借鑒價值,需要的朋友參考下2017-03-03Python cookbook(數據結構與算法)將多個映射合并為單個映射的方法
這篇文章主要介紹了Python cookbook(數據結構與算法)將多個映射合并為單個映射的方法,結合實例形式分析了Python字典映射合并操作相關實現技巧,需要的朋友可以參考下2018-04-04