python 去掉常规的html标签

前言:

写爬虫的时候经常抓取带 html 标签的页面,如果针对文字匹配,html 标签就变得一无是处,所以需要清洗掉。

1.技术说明

html 标签一般是比较规整的由 <>包裹内容产生的,只要把 <>找出来,并把其中包裹的字符删除就可以做到简单的清洗。基本思想就是正则
正则表达式如下:

r'<[^>]+>'  或者  r'</?[^>]+>'

解释:匹配左右都含有尖括号的字符串,并且其包裹的内容里面是非 > 的字符
为什么要说是非 > 字符而不是任意字符[.],举个例子:
‘<a href="csdn.net">测试<a href="baidu.com">'
上述标签,我们需要保留“测试”两个字,如果采用任意字符 ,因为 + 是贪婪匹配,
所以 会匹配第一个 < 和最后一个 >,这样就把整个字符串都匹配了,会一起删掉的
2.测试 demo
import re


html = '<a href="https://blog.csdn.net/qingquanyingyue">清泉影月</a>,技术边缘OB'
text = re.sub(r'<[^>]+>', '', html)
print(text)

result:
清泉影月,技术边缘OB
发布了76 篇原创文章 · 获赞 46 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/qingquanyingyue/article/details/93909958