我使用带有lxml的python从html中提取数据。
我想从HTML中选择在HTML中使用非标准属性的HTML。
例如:
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
//div[@nonstandardattr="somevalue"]/text()
试试上面的。关闭的]
缺少
Xpath并没有将非标准的html属性与标准的属性区分开来,因为Xpath将html视为xml,这意味着任何东西都可以定义语法有效的属性。