xpath 语法

lxml

 从响应数据中抽取出目标数据的过程,就叫做数据解析
 数据解析:
 re,xpath,BS4,Pyquery

 DOM树与xpath解析原理

 xpath解析原理:根据DOM节点的结构关系,进行定位

xpath基本语法

.:当前节点

/:根节点

//:代表任意位置

.//:从当前节点向下的任意位置匹配

nodename:**节点名**定位

nodename[@attribute='value']:根据节点的属性进行定位

@attribue:获取节点的属性值,比如获取a标签的`href`属性,直接可以`/a/@href`

text():获取节点的文本

属性匹配

- 单属性多值匹配:当节点的一个属性有多个值时,根据其中一个进行定位,
  使用contains函数
- 多属性匹配:用节点的多个属性共同定位节点 and|or

按序选择

- 索引定位:[6] 

   **注意,索引从1开始,跟python有区别**

- 位置函数:position()
  例:/li[position()>2]

- last()函数:定位最后一个,last()-1代表倒数第二个

流程

加载本地html,需要有etree.HTMLParser参数,注意要加括号
例:tree = etree.parser('./xpath.html',etree.HTMLParser())

加载网页html,直接使用HTML
例:tree = etree.HTML()

然后些xpath语法
tree.xpath('//ul[@class="pli"]/li/div/a/img/@src')

xpath获得的结果是一个列表

#编码流程
from lxml import etree
res = requests.get(...)
tree = etree.HTML(res.text) #etree加载的是响应数据的文本形式
tree.xpath('xpath表达式')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值