讲解Xpath常用代码,无任何实例:
· 读取xml节点内容(多个,单个)
· xpath读取heml文件
· 读取指定节点,条件筛选,循环读取
####XPath解析 from lxml import etree xml = """""" tree = etree.XML(xml) tree.xpath("/book") #/相当于节点关系,/相当于根节点 result = tree.xpath("/book/name/text()") ## text()获取文本 result = tree.xpath("/book/author/nick/text()") ## text()获取文本 result = tree.xpath("/book/author/div/nick/text()") ## text()获取文本 result = tree.xpath("/book/author//nick/text()") ## //相当于所有子节点 result = tree.xpath("/book/author当前所有节点 result = tree.xpath("/book//nick/text()") ## /*/当前所有节点 print(result) l 野花贬低向 臭豆腐 周大枪 周芷若 周杰伦 蔡依林 惹了 胖胖陈 胖胖不陈
以下代码读取指定文件内容 b.html
b.html:
title
李嘉诚
胡辣汤
代码:
# %%
from lxml import etree
tree = etree.parse("b.html")
result = tree.xpath("/html/body/ul/li/a/text()")
result = tree.xpath("/html/body/ul/li[1]/a/text()") ## 第一个li节点内容
result = tree.xpath("/html/body/ol/li/a[@href='dapao']/text()") ###节点[@属性='值'] 找到指定值
list = tree.xpath("/html/body/ol/li")
for i in list:
###从每一个li中提取文字信息
data = i.xpath("./a/text()")
print(data)
params = i.xpath("./a/@href")
print(params)
print(result)
print(tree.xpath("/html/body/ul/li/a/@href"))
##页面右键直接复制Xpath
print(tree.xpath("/html/body/div[2]/text()"))



