使用非标准html自定义属性选择Xpath

时间:2014-10-29 23:21:39

标签: python xpath lxml

我正在使用带有lxml的python从html中提取数据。

我想从HTML中选择使用html中的非标准属性。

E.g:

content = '''
<html>
<body>
    <div id="one">content</div>
    <div nonstandardattr="somevalue">custom attribute text node</div>
</body>
</html>
'''

我想做这样的事情:

page = html.fromstring( content )
page.xpath( '//div[@nonstandardattr="somevalue"]/text() ' )

其中page是lxml.html.HtmlElement的实例。

当我尝试时,我看到以下异常:

XPathEvalError: Invalid predicate

1 个答案:

答案 0 :(得分:2)

//div[@nonstandardattr="somevalue"]/text()

尝试以上方法。结束]缺失

Xpath没有区分非标准html属性和标准html属性,因为xpath将html视为xml,这意味着任何事情都可以定义语法上有效的属性。