gpt4 book ai didi

python lxml 查找 tag

转载 作者:行者123 更新时间:2023-11-28 16:48:28 26 4
gpt4 key购买 nike

我正在使用 lxml 来解析一个 html,它有一个 facebook 评论标签,看起来像这样:

<fb:comments id="fb_comments"  href="http://example.com" num_posts="5" width="600"></fb:comments>

我试图选择它来获取 href 值,但是当我执行 cssselect('fb:comments') 时,出现以下错误:

The pseudo-class Symbol(u'comments', 3) is unknown

有办法吗?

编辑:代码:

from lxml.html import fromstring
html = '...'
parser = fromstring(html)
parser.cssselect('fb:comments') #raises the exception

最佳答案

cssselect() 方法使用给定的 CSS selector 解析文档表达。在您的情况下,冒号字符( : )是一个 XML 命名空间前缀分隔符(即 <namespace:tagname/> ),它与 CSS 伪类语法(即 tagname:pseudo-class )混淆。

根据 lxml manual你应该使用 namespace-prefix|element cssselect() 中的语法为了找到带有命名空间前缀 ( comments ) 的标签 ( fb )。所以:

from lxml.html import fromstring
html = '...'
parser = fromstring(html)
parser.cssselect('fb|comments')

关于python lxml 查找 <fb :comments/> tag,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11102640/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com