Xpath 常用语法展示
2024-09-08 17:30:57
非标准代码处理
from lxml import etree #导入lxml 中erree模块
parser = etree.HTMLParser(encoding="utf-8") #解释器指定编码
tree = etree.parse("b.html", parser=parser) #把解释器加到etree解释器
print(tree) #打印节点
print(etree.tostring(tree, encoding="utf-8").decode("utf-8")) #类型解码:看到具体内容
常用功能
#1.获取子节点全部文本
result = tree.xpath('/html/body/ul/li/a/text()')
# / 从当前节点选取直接子节点
# text()方法获取节点中的文本
print(result)
#2.指定获取子节点某一个文本
result = tree.xpath('/html/body/ul/li[1]/a/text()')
#指定标签中某一个内容:li[1]:某一标签第一个内容(xpath是从一开始数数)
print(result)
#3.指定属性获取 内容
result = tree.xpath('/html/body/ol/li/a[@href="suiyue"]/text()')
# @ :指定标签属性 ;a[@href="suiyue"]/text():根据标签属性打印文本
print(result)
#4.相对查找,获取内容
ol_li_list = tree.xpath("/html/body/ol/li")
print(ol_li_list) #找到3个节点
for li in ol_li_list:
#循环,从每一个li提取文字信息
result = li.xpath("./a/text()") #从li继续寻找(相对查找)
# ./ :表示当前节点
print(result)
result = li.xpath("./a/@href") #/@+属性类型:我们就可以拿到这个标签里面某种属性的值
print(result)
#5.获取标签属性值
print(tree.xpath('/html/body/ul/li/a/@href'))
# a/@href: a标签属性href 所有的值
小技巧
# 利用谷歌浏览器:F12程序员,快速复制Xpath路劲
print(tree.xpath("/html/body/div[1]/text()"))
最新文章
- java int与integer的区别
- solr 日期查询格式
- PHP 开启短标签
- ODB 短板
- 正则表达式:根据逗号解析CSV并忽略引号内的逗号
- 【原创】leetCodeOj --- Word Ladder II 解题报告 (迄今为止最痛苦的一道题)
- javaCV图像处理之Frame、Mat和IplImage三者相互转换(使用openCV进行Mat和IplImage转换)
- Django源码学习 了解render与render_to_response
- 14.javaweb AJAX技术详解
- 【BZOJ4071】八邻旁之桥(线段树)
- PhpStorm服务激活
- 清理 zabbix 历史数据, 缩减 mysql 空间
- dataTable使用方法
- 【Qt】窗口居中显示
- Idea中如何将web项目打包成war包并放到tomcat中启动
- SimpleXML概述
- 如何设置C++崩溃时生成Dump文件
- keepalived openssl 报错
- 【BZOJ2588】Spoj 10628. Count on a tree 主席树+LCA
- iOS线程之——NSCondition