Python XPath-如何从节点获取文本内容?

时间:2020-03-09 17:55:05

标签: python html xpath web-scraping

我正在尝试将脚本(从我非常了解的PHP)转换为Python(我刚刚学习的)。

从概念上讲,我使用xpath选择器从使用html.fromstring构造的DOM树中查找节点。例如,这使我从表中引用了“ TD”节点。

然后在PHP中,我可以使用$ node-> item(0)-> textContent来获取该节点中的任何文本,而不考虑其他任何标记。这很有用,因为有时还有其他HTML标签-字体,b,p等,并且文本结尾的模式不一致。

在Python中,我使用以下语法:

text = row.xpath("./td[1]/text()")

但是,这与没有匹配项有关。如果我省略/ text(),则它匹配该节点,并且如果我尝试打印该节点,则会得到类似[]的信息-因此它显然是一个对象,而不是字符串。

如果我使用以下语法:

text = row.xpath("./td[1]/b/font/p/text()")

确实为我获取了文本(列表格式),但是HTML并不总是加粗的,也不总是在字体标签内。

所以我的问题是,如何获得所选对象内的任何文本?

0 个答案:

没有答案
相关问题