Python libxml2dom XPath 问题

1 投票
1 回答
771 浏览
提问于 2025-04-15 17:13

我有个简单的问题……我可以用libxml2dom等工具来创建或解析一段HTML。

不过,有没有办法显示出用来生成或提取这段HTML的xpath呢?我觉得应该有某种方法可以做到,但我找不到。

比如:

import libxml2dom
d = libxml2dom.parseString(s, html=1)

## 

hdr="//div[3]/table[1]/tr/th"

thdr_ = d.xpath(hdr)
print "lent = ",len(thdr_)

此时,thdr_是一个对象的数组/列表……每个对象都指向一段HTML(可以这么理解)。

我想知道有没有办法获取,比如说,thdr_[x]这个列表项的xpath。

也就是说:

thdr_[0]=//div[3]/table[1]/tr[0]/th
thdr_[1]=//div[3]/table[1]/tr[1]/th
thdr_[2]=//div[3]/table[1]/tr[2]/th
.
.
.

大家有什么想法或意见吗……

谢谢

-tom

1 个回答

0

我通过逐个检查每个节点,并把它们的文本内容和我预期的文本进行比较来完成这个任务。为了进行模糊比较,我使用了来自 difflib 的 SequenceMatcher 类。

撰写回答