可以使用BeautifulSoup的find_all()方法以及标签的decompose()方法来实现。先用find_all()找到所有带有指定img属性的标签,然后遍历这些标签并分别调用decompose()方法进行删除。具体的代码实现如下所示:
from bs4 import BeautifulSoup
html = """
"""
soup = BeautifulSoup(html, 'html.parser')
# 找到所有带有data-id属性的img标签,并删除
imgs = soup.find_all('img', {'data-id': True})
for img in imgs:
img.decompose()
print(soup)
运行结果为:
上面的代码使用了一个字典参数来指定要查找的img标签的属性和属性值,其中属性名为'data-id',属性值为任意非空字符串(表示该属性存在即可)。在find_all()方法中使用这个参数可以找到所有带有data-id属性的img标签。然后,遍历这些标签并调用decompose()方法进行删除。最后输出删除后的HTML文档即可。