我想删除给定标记(节点)下的script
和noscript
标记。
for t in node.find_all(["script", "noscript"]):
t.unwrap()
for s in node.stripped_strings:
print s
但上述循环仍会打印script
代码的内容。
错误在哪里?
答案 0 :(得分:2)
您需要extract()
method代替:
PageElement.extract()
从树中删除标记或字符串。
for t in node.find_all(["script", "noscript"]):
t.extract()
答案 1 :(得分:2)
使用错误的方法可以使用decompose()
方法执行此操作,尤其是在您不需要返回要删除的标记或字符串时。
Tag.decompose()从树中删除标签,然后完全销毁它及其内容。
for t in node.find_all(["script", "noscript"]):
t.decompose()