我需要在 XML 网页中搜索 id "1438" 并返回其下方某些元素中的文本,例如 YES、10:00、NO。我从不知道数据/标签的位置,因此我总是需要搜索整个文档。
<type="home">
<name="wo" id="1438">
<category name="m1" id="2">
<date="17.06.2013" time="">
<status="YES" time="10:00" id="654657">
<winner="NO" _won="0" id="2714"/>
<winner="YES" _won="0" id="2943"/>
</won>
到目前为止我有
result = urllib.urlopen("URL")
html = result.read()
parser = etree.HTMLParser()
tree = etree.parse(StringIO.StringIO(html), parser)
doc = lxml.html.document_fromstring(html)
print doc.xpath(u'.//[text()="1438"]/text()')
但是我只是收到以下错误
lxml.etree.XPathEvalError: Invalid expression
我想我的 xpath 表达式是错误的,但是在搜索了示例之后,我并没有真正找到任何清晰的教程,如果有人知道任何(新手友好)示例,我将非常感激能够指导他们。我会使用 BS4,但是我有很多要处理的数字,而且我知道 lxml 更快。如果这是一个愚蠢的问题,对不起!
谢谢!