我正在使用BeautifulSoup进行HTML清理。对Python和BeautifulSoup都是新手。我根据stackoverflow上找到的答案实现了正确删除标签,具体如下:
[s.extract() for s in soup('script')]
但如何删除内联样式?例如以下内容:
<p class="author" id="author_id" name="author_name" style="color:red;">Text</p>
<img class="some_image" href="somewhere.com">
应该变成:
<p>Text</p>
<img href="somewhere.com">
如何删除所有元素的内联class、id、name和style属性?
我找到的其他类似问题的答案都提到了使用CSS解析器来处理这个问题,而不是BeautifulSoup,但是由于任务只是简单地删除而不是操作属性,并且是适用于所有标记的通用规则,所以我希望能找到一种在BeautifulSoup中完成所有操作的方法。
decompose()
的注释留给其他可能遇到这个问题的人。 - jmk