pythonxpath语法_xpath语法

python爬去网页数据时,如果使用requests库和xpath,首先需要使用lxml的etree将获取的网页数据完整,因为有时候使用requests.get(url ,headers=headers)获取到的数据不完整。etree模块就可以自动修复html文本。

安装lxml:

lxml是python的一个解析库,支持html和xml的解析,同时也支持xpath解析方式。

pip install lxml

etree模块的使用

from lxml import etree

对网页HTML的解析,使用etree.HTML(html.content)

接下来就可以使用xpath抓取对应的需求节点的信息了。

xpath的语法

选取节点:

/: 表示选取直接子节点

xpath: /div

result: null

season: /div表示获取根节点下的div但是,根节点下只有 这一个子节点,/是不能获取到子孙节点的

//: 表示获取任意节点

谓语:

通过列子来说明

//book/div[1]

explanation: 获取book节点下的第一个div节点

注意: xpath语法的下标是从数字1开始的,这里和python的语法是有区别的

//book/div[last()]

explanation: 获取book节点的最后一个div节点

//book/div[positon()<3]

explanation: 获取book节点下的前两个div节点

//book/div[@price=1]

explanation: 获取book节点下属性price=1 的div节点

//book/div[contains(@class,"f")]

explanation: 获取book节点下class属性中包含f的div节点

通配符:

: 表示获取任意的节点

@:表示任意属性

多个路径:

| : //book[@price=1] | //book[@price=2] 表示获取属性price=1或者price=2的book节点

逻辑运算符:

< ,> , <= ,>= , !=, and , or

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值