xpath(待补充)
2024-09-01 18:00:42
from lxml import etree
html="""
<div>
<ul>
<li>1</li>
<li title="text1">2</li>
<li>1</li>
<li title="text2">2</li>
<li>1</li>
<li title="text3">2</li>
<li>1</li>
<li title="text3 text4">2</li>
</ul>
</div>
"""
html=etree.HTML(html)
html1=html.xpath('//li[text()=2]')#获取值为2的html节点
# print(html1)
html2=html.xpath('//li[text()=2]')[-2]#获取倒数第二个值为2的html节点
# print(html2)
html3=html.xpath('//li[text()=2]/@title')#遍历值为2的html节点的title属性
# print(html3)#打印出一个列表
for i in html3:
print(i) #重点:针对多个属性,怎么取包含其中的一个值
html4=html.xpath('//li[contains(@title, "text4")]')#找出title属性包含text3的html节点
# print(html4)
html5=html.xpath('//li[1]')#找到第一个li
# print(html5)
html6=html.xpath('//li[last()]')#找到最后一个li
# print(html6)
html7=html.xpath('//li[last()-1]')#找到倒数第二个li
# print(html7)
html8=html.xpath('/html/body/div/ul/li[@title="text3"]/text()')#绝对路径找li的属性title="text2"的文本
# print(html8) # 如果在提取某个页面的某个标签的xpath路径的话,可以如下图:
# //*[@id="kw"]
# 解释:使用相对路径查找所有的标签,属性id等于kw的标签。
最新文章
- SortedDictionary
- 《DSP using MATLAB》示例Example4.8
- [前端]npm安装慢,换用淘宝的镜像
- C++ Primer Plus第6版18个重点笔记
- StringUtils cannot be resolved
- Rhel6-heartbeat+lvs配置文档
- Ajax请求ashx 返回 json 格式数据常见问题
- BZOJ 1029 建筑抢修
- eclipse中格式化代码快捷键Ctrl+Shift+F失效的解决办法
- 集成支付宝SDK遇到的坑
- HDU 5046 Airport(DLX反复覆盖)
- generate parentheses(生成括号)
- 分布式事务之如何基于RocketMQ的事务消息特性实现分布式系统的最终一致性?
- NumPy 学习笔记(一)
- spring 源码导入eclipse(sts)
- 【洛谷p1164】小A点菜
- TF-IDF算法-golang实现
- google test框架与eclipse插件
- API权限控制与安全管理
- mongoDB系列之(三):mongoDB 分片