xpath基本操作和Python操作Xpath提取数据


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()’)用法
    表示取当前节点及其子孙节点中的文本内容
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值