基础2·lxml库(节点解析库)的使用方法


调用:
from lxml import etree


解析网页代码:
html = etree.HTML(ret)


网页源码修补:
etree.tostring(html)


文本获取:
html.xpath('//<节点名称>/text()')


节点获取:

所有节点获取:
html.xpath('//*')

指定节点获取:
html.xpath('//<节点名称>')
html.xpath('//<节点名称>[1]')        #从一开始
指定子节点获取:
html.xpath('//<节点名称>/<子节点名称>')

指定孙子节点获取:
html.xpath('//<节点名称>//<孙子节点名称>')

选取父亲节点:
html.xpath('//<节点名称>/..')

属性匹配节点获取:
html.xpath('//<节点名称>[@xxx=xx]')
多属性匹配节点获取:
html.xpath('//<节点名称>[contains(@xx,xx)and @xx=xx]')

按顺序选择节点:
html.xpath('//li[1]')             #第一个li节点
html.xpath('//li[last()]')        #最后一个li节点
html.xpath('//li[post()<3]')      #第一二li节点
html.xpath('//li[last()-2]')      #倒数第三个li节点

节点轴:
html.xpath('//li/ancestor::*')              #li的所有祖先节点
html.xpath('//li/attribute::*')             #li的所有属性
html.xpath('//li/child::*')                 #li的所有直接儿子节点
html.xpath('//li/descendant::*')            #li的所有子孙节点
html.xpath('//li[1]/following::*')          #li节点后的所有节点
html.xpath('//li[1]/following_sibling::*')  #li的所有同级节点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值