首页 > 解决方案 > 如何删除 Python 列表中的 bs4.element.Tag 元素?

问题描述

我有一个 Python 列表,它是

url_list = [<img src="https://test.com/temp.jpg" style="display:block"/>, <img src="https://test.com/not_temp.jpg" style="display:block"/>]

该列表中的两个元素都是“bs4.element.Tag”类型。

如何'<img src="https://test.com/temp.jpg" style="display:block"/>'在保留其“bs4.element.Tag”类型的同时删除元素?

并且该列表将及时更改,因此del url_list[0]不会起作用。

我试过了url_list.remove('<img src="https://test.com/temp.jpg" style="display:block"/>')

但它不起作用,因为它的类型不同。

编辑:我想删除这个'<img src="https://test.com/temp.jpg" style="display:block"/>'确切的元素。并且“同时保持其'bs4.element.Tag'类型”意味着我不想更改列表元素的类型。

标签: pythonpython-3.xbeautifulsoup

解决方案


将标签的字符串表示形式转换为 BS 对象:

tag = '<img src="https://test.com/temp.jpg" style="display:block"/>'
unwanted = bs4.BeautifulSoup(tag).img

并删除它:

url_list.remove(unwanted)

推荐阅读