作者:Levenmamatq_267 | 来源:互联网 | 2023-10-13 13:05
文章目录基本概念在Python中模块的使用text()方法xpath介绍基本概念•XPath(XMLPathLanguage)是一种XML的查询语言,他能在XML树状结构中寻找节点
文章目录
- 基本概念
- 在Python中模块的使用
- text()方法
xpath介绍
基本概念
• XPath(XML Path Language)是一种XML的查询语言,他能在XML树状结构中寻找节点。XPath 用于在 XML 文档中通过元素和属性进行导航
• xml是一种标记语法的文本格式,xpath可以方便的定位xml中的元素和其中的属性值。lxml是python中的一个第三方模块,它包含了将html文本转成xml对象,和对对象执行xpath的功能
xml_content = '''
<bookstore>
<book>
<title lang='eng'>Harry Potter</title>
<author>JK.Rowing</author>
<year>2005</year>
<price>29<price>
</book>
</bookstore>
父(Parent) book元素是title、author、year、price元素的父
子(Children) title、author、year、price都是book元素的子
同胞(Sibling) title、author、year、price都是同胞
先辈(Ancestor) title元素的先辈是 book元素和bookstore元素
常用节点选择工具
- chrome插件:xpath helper
- firetox插件:xpath checker
安装参考网站
https://blog.csdn.net/qq_31082427/article/details/84987723
表达式 | 描述 |
---|
nodename | 选取此节点的所有子节点 |
/ | 从根节点选取 |
// | 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置 |
. | 选取当前节点。 |
。。 | 选取当前节点的父节点。 |
@ | 选取属性。 |
查找某个特定的节点或者包含某个指定的值的节点
在Python中模块的使用
在Python中,我们安装lxml库来使用XPath 技术
lxml 是 一个HTML/XML的解析器,主要的功能是如何解析和提取HTML/XML数据利用etree.HTML,将字符串转化为Element对象lxml python
官方文档:http://lxml.de/index.html
可使用 pip 安装:pip install lxml
lxml 可以⾃动修正 html 代码
from lxml import etree
from lxml import etree
html = ''' fffffff '''
html = etree.HTML(html) #利用etree.THML将字符串转换为HTML
res = html.xpath('') #获取所有book的所有节点
print(res)
text()方法
text()又有两种用法,一种是ls[1].xpath(’./text()’),一种是ls[1].xpath(’.//text()’)
- ls[1].xpath(’./text()’)用法
表示只取当前节点中的文本内容,对于子孙节点的内容不会取。 - ls[1].xpath(’.//text()’)用法
表示取当前节点及其子孙节点中的文本内容