广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python 中 lxml 的 etree 标签解析
  • 505
分享到

python 中 lxml 的 etree 标签解析

2024-04-02 19:04:59 505人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录一、安装二、创建标签三、添加子节点四、删除子节点五、删除所有子节点六、操作子节点七、获取父节点八、创建属性九、获取属性十、设置标签文本十一、xpath方法十二、判断文本类型十三、

一、安装

pip install lxml

二、创建标签

from lxml import etree

root = etree.Element('root')

三、添加子节点

from lxml import etree

root = etree.Element('root')
span = etree.SubElement(root, 'span')

四、删除子节点

from lxml import etree

root = etree.Element('root')

span = etree.SubElement(root, 'span')
root.remove(span)

五、删除所有子节点

from lxml import etree

root = etree.Element('root')
root.clear()

六、操作子节点

from lxml import etree

root = etree.Element('root')

span = etree.SubElement(root, 'span')

# 获取标签数
len(root)
# 获取标签索引号,如果有多个相同标签的话,可以区分
root.index(span)
# 按位置插入
root.insert(0, etree.Element('p'))
# 尾部添加
root.append(etree.Element('strong'))

七、获取父节点

获取标签父节点的两种方法:

from lxml import etree

root = etree.Element('root')

span = etree.SubElement(root, 'span')

# 获取父节点方法一
span.getparent().tag
# 获取父节点方法二,用列表获取子节点,再获取父节点
root[0].getparent().tag

八、创建属性

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操作就相当与找到了这个元素节点,返回匹配到的第一个元素
root.find('.//a').text
# 配合列表解析
[ b.text for b in root.findall('.//a') ]
# 根据属性查询
root.findall('.//a[@class]')[0].tag

到此这篇关于python 中 lxml 的 etree 标签解析的文章就介绍到这了,更多相关Python etree 标签内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python 中 lxml 的 etree 标签解析

本文链接: https://www.lsjlt.com/news/144909.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python 中 lxml 的 etree 标签解析
    目录一、安装二、创建标签三、添加子节点四、删除子节点五、删除所有子节点六、操作子节点七、获取父节点八、创建属性九、获取属性十、设置标签文本十一、xpath方法十二、判断文本类型十三、...
    99+
    2022-11-13
  • python中lxml的etree标签创建
    这篇文章主要介绍“python中lxml的etree标签创建”,在日常操作中,相信很多人在python中lxml的etree标签创建问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python中lxml的etr...
    99+
    2023-06-29
  • Python 文档解析lxml库的使用详解
    目录1.lxml库简介2.lxml库方法介绍3.代码实例1.lxml库简介 lxml 是 Python 常用的文档解析库,能够高效地解析 HTML/XML 文档,常用于 Python...
    99+
    2022-11-11
  • Python中Lxml与Xpath解析库如何使用
    本篇文章给大家分享的是有关Python中Lxml与Xpath解析库如何使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、xpath 概念、xpath节点、xpath语法、x...
    99+
    2023-06-15
  • 解析android中include标签的使用
    在一个项目中我们可能会需要用到相同的布局设计,如果都写在一个xml文件中,代码显得很冗余,并且可读性也很差,所以我们可以把相同布局的代码单独写成一个模块,然后用到的时候可以通过...
    99+
    2022-06-06
    include Android
  • resultMap标签中里的collection标签详解
    目录resultMap标签中的collection标签collection(一对多)collection标签中各属性的说明resultMap标签中的collection标签 coll...
    99+
    2022-11-13
  • HTML5中的新标签和常用标签详解
    本篇内容介绍了“HTML5中的新标签和常用标签详解”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!HTML5...
    99+
    2022-10-19
  • Mybatis mapper标签中配置子标签package的坑及解决
    目录mapper标签中配置子标签package的坑Mybatis中mappers标签介绍配置方式1.接口所在包2.相对路径配置3.类注册引入4.使用URL绝对路径方式引入(不用)使用...
    99+
    2022-11-12
  • jqueryUI中tab标签页的示例分析
    这篇文章主要为大家展示了“jqueryUI中tab标签页的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jqueryUI中tab标签页的示例分析”这篇文...
    99+
    2022-10-19
  • HTML5中语义标签的示例分析
    小编给大家分享一下HTML5中语义标签的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在HTML5标准中,新加了几个用于...
    99+
    2022-10-19
  • html中h1 - h6标签的示例分析
    这篇文章给大家分享的是有关html中h1 - h6标签的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。     HTML<h2>-<...
    99+
    2022-10-19
  • html5中p标签默认和div标签默认属性的示例分析
    这篇文章主要为大家展示了“html5中p标签默认和div标签默认属性的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“html5中p标签默认和div标签默...
    99+
    2022-10-19
  • HTML中meta标签及Keywords的示例分析
    这篇文章主要介绍了HTML中meta标签及Keywords的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。关键字 meta(标签)及 Keywords(关键词),曾经...
    99+
    2023-06-09
  • html中<head>标签的示例分析
    小编给大家分享一下html中<head>标签的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!head标签he...
    99+
    2022-10-19
  • html中<link>标签的示例分析
    这篇文章主要为大家展示了“html中<link>标签的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“html中<link>标签的...
    99+
    2022-10-19
  • seo优化中tag标签的示例分析
    这篇文章主要介绍了seo优化中tag标签的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。  1、tag标签对我们网站优化有什么优点tag标签功能不管是百度还是用户,都...
    99+
    2023-06-10
  • python 网页解析器掌握第三方 lxml 扩展库与 xpath 的使用方法
    今天说的则是使用另外一种扩展库 lxml 来对网页完成解析。同样的,lxml 库能完成对 html、xml 格式的文件解析,并且能够用来解析大型的文档、解析速度也是相对比较快的。 要...
    99+
    2022-11-12
  • python网页解析器掌握第三方lxml扩展库与xpath的使用示例
    这篇文章将为大家详细讲解有关python网页解析器掌握第三方lxml扩展库与xpath的使用示例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、导入 lxml 扩展库、并创建对象# -*-&n...
    99+
    2023-06-14
  • Maven中resources标签的用法详解
    目录一、resources作用1、打包编译作用2、配置文件取pom当中的值二、演示resources打包编译的作用1、创建springboot项目2、进行编译打包3、出现问题4、得出...
    99+
    2022-11-13
  • Vue如何解析带html标签的字符串为dom
    这篇文章给大家分享的是有关Vue如何解析带html标签的字符串为dom的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.场景描述如上接口中,content字段:content:&...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作