有没有一种方法可以独立于 XML 文档来确定来自 xpath 的返回值的类型?具体来说,我使用的是 lxml。
例子:
//a
并将//b[a/@href]
始终返回零个或多个元素的列表。//a/text()
并将//a/@href
始终返回零个或多个字符串的列表。
虽然我可以想出各种尝试分析这些的方法,但感觉就像是在尝试重新发明轮子。有没有更好的方法来做到这一点?
背景
当事实证明没有任何a
标签并且我已经编写了root.xpath('//a')[0]
. 而且我不想盲目地抓住一切。所以我写了一组函数,它们总是返回正确类型的东西。和替换工作得很好,但如果不知道输出应该是什么,cssselector
我attrib
就无法满足输出的期望。xpath
如果你真的在乎,这是我的代码。https://scraperwiki.com/editor/raw/irked