gpt4 book ai didi

python - 如何使用 lxml 访问评论

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

我正在尝试从使用 lxml 获得的元素列表中删除注释

我能做的最好的是:

no_comments=[element for element in element_list if 'HtmlComment' not in str(type(each))]

请问有没有更直接的方法?

我将根据 Matthew 的回答添加一些内容 - 他让我几乎明白了 问题是当元素从树中取出时,评论失去了一些身份(我不知道如何描述它)所以它无法通过isinstance()方法判断是否为HtmlComment类对象

但是,当在树上迭代元素时可以使用该方法

from lxml.html import HtmlComment
no_comments=[element for element in root.iter() if not isinstance(element,HtmlComment)

对于像我这样的新手,root 是包含树中所有其他元素的基本 html 元素,有多种方法可以获取它。一种是打开文件并遍历它,而不是上面的 root.iter()

html.fromstring(open(r'c:\temp\testlxml.htm').read()).iter()

最佳答案

你可以剪掉字符串:

from lxml.html import HtmlComment # or similar
no_comments=[element for element in element_list if not isinstance(element, HtmlComment)]

关于python - 如何使用 lxml 访问评论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3644186/

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