[分章:代码知识]python xpath使用方法

本文介绍了如何通过Python的lxml库解析HTML文档,利用XPath表达式定位标签并提取数据。重点讲解了XPath语法,包括多层级查找、属性定位、索引和标签文本提取示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

extree xpath解析HTML库

作用:通过xpath解析html数据;需要安装pip install lxml

注意:完整xpath路径可以在网页鼠标右键检查目标文本,而后右键复制xpth路径

示例:

from lxml import etree

with open('123.html',mode='r',encoding='utf-8') as f:

    str1 = f.read()

tree = etree.HTML(str1) # 导入本地HTML文档

str = tree.xpath('//div[@class="index-left"]')   # 使用xpath表达式定位标签,返回为对象;'//'表示多个层级,可以从任意层级开始查找;'@class=""'为属性定位

tree.HTML() 实例化HTML文本

用于将HTML文本实例化成extree对象,方便进行xpath数据分析。

tree.xpath 标签定位

用于标签定位;

使用xpath表达式定位标签,返回为对象;

注意:完整xpath路径可以在网页鼠标右键检查目标文本,而后右键复制xpth路径

xpth语法:

'//'表示多个层级,可以从任意层级开始查找;

//*[@id="header"]为从id=header标签开始查找

[@id="header]为属性定位,进一步定位指定标签;

/a[1]为xpath内的索引,xpath的索引是从1开始的;括号外的[1]索引为list索引,和xpath无关;

@src为查找所有属性为src的标签

//text()读取标签文本

示例:

from lxml import etree

with open('123.html',mode='r',encoding='utf-8') as f:

    str1 = f.read()

tree = etree.HTML(str1) # 导入本地HTML文档

# str = tree.xpath('//div[@class="index-left"]')[1]   # 使用xpath表达式定位标签,返回为对象;'//'表示多个层级,可以从任意层级开始查找;'@class=""'为属性定位

# str = tree.xpath('//div[@class="high-quality-list"]//img/@src')[1] # @src为查找所有属性为src的标签

str = tree.xpath('//*[@id="header"]/div[2]/div/p/a[1]//text()')[0] #

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值