使用BeautifulSoup结合正则替换b'span标签及属性为无属性p标签
代码修正方案
修改原有逻辑,在更新标签名称后清空标签全部属性即可,修正后代码如下:
import re from bs4 import BeautifulSoup soup = BeautifulSoup(htmldata, "html.parser") for tag in soup.find_all(re.compile('^b\'span\'')): tag.name = 'p' tag.attrs = {} # 清空标签所有属性 print(soup.prettify())
逻辑说明
BeautifulSoup的标签对象通过attrs字典存储所有属性配置,直接将该字段赋值为空字典即可一键清除所有原有自定义属性,无需单独匹配删除指定属性,也兼容标签存在其他未知属性的场景。运行代码后即可得到无额外属性的p标签,匹配预期输出要求。
内容的提问来源于stack exchange,提问作者Keshav
相关产品推荐
相关产品推荐

