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>
本文来自博客园,作者:我是小弟弟,转载请注明原文链接:https://www.cnblogs.com/pyforseo/p/15948707.html