python处理p标签里面多余的class 和 其它标签[html内容处理]

1、去掉p标签自带的class

2、去掉p标签里面的其他标签

text = """<p><img src="https://www.yikaow.com/upload/images/2019/6/2711221356.jpg" alt="《风雨哈佛路》原型" /></p><p class="cintro"><span class="red">回答</span>《风雨哈佛路》的原型是全美“奇迹女孩”莉兹·默里,讲述的是她从流浪女以自强不息的奋斗精神考上哈佛的励志经历,激励人们跨越困境去追寻心中的梦想。在2003年4月7日的时候,这本图书的同名电影《风雨哈佛路》在美国上映,还获得了第55届艾美奖3项提名。</p>"""

 

步骤

1、使用正则去除p标签

inner_text = re.findall(r'<p[^>]*>(.*?)</p>', text)

>>>输出结果

['<img src="/uploads/images/2019-6-2711221356.jpg" alt="《风雨哈佛路》原型" />', '<span class="red">回答</span>《风雨哈佛路》的原型是全美“奇迹女孩”莉兹·默里,讲述的是她从流浪女以自强不息的奋斗精神考上哈佛的励志经历,激励人们跨越困境去追寻心中的梦想。在2003年4月7日的时候,这本图书的同名电影《风雨哈佛路》在美国上映,还获得了第55届艾美奖3项提名。']

 

2、新建一个空字符串,使用for循环遍历inner_text,再使用正则匹配span标签里面的内容,sub函数进行替换

new_text = ""
for inner in inner_text:
    new_inner = re.sub(r'<\w+[^>]*>([^<]+?)</\w+>', '\g<1>', inner)
    new_text += f"<p>{new_inner}</p>"

<<<输出结果

<p><img src="/uploads/images/2019-6-2711221356.jpg" alt="《风雨哈佛路》原型" /></p><p>回答《风雨哈佛路》的原型是全美“奇迹女孩”莉兹·默里,讲述的是她从流浪女以自强不息的奋斗精神考上哈佛的励志经历,激励人们跨越困境去追寻心中的梦想。在2003年4月7日的时候,这本图书的同名电影《风雨哈佛路》在美国上映,还获得了第55届艾美奖3项提名。</p>

 

posted @ 2022-03-01 09:31  我是小弟弟  阅读(527)  评论(0编辑  收藏  举报
友情链接:ie资源库