700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python3 正则 去除 html标签 提取正文内容_Python通过正则表达式去除(过滤)HTML标签 提取文字...

python3 正则 去除 html标签 提取正文内容_Python通过正则表达式去除(过滤)HTML标签 提取文字...

时间:2020-05-28 08:57:51

相关推荐

python3 正则 去除 html标签 提取正文内容_Python通过正则表达式去除(过滤)HTML标签 提取文字...

# -*- coding: utf-8-*-

import re

##过滤HTML中的标签

#将HTML中标签等信息去掉

#@param htmlstr HTML字符串.

def filter_tags(htmlstr):

#先过滤CDATA

re_cdata=pile('//]*//]]>',re.I) #匹配CDATA

re_script=pile(']*>[^',re.I)#Script

re_style=pile(']*>[^',re.I)#style

re_br=pile('')#处理换行

re_h=pile('?w+[^>]*>')#HTML标签

re_comment=pile('')#HTML注释

s=re_cdata.sub('',htmlstr)#去掉CDATA

s=re_script.sub('',s) #去掉SCRIPT

s=re_style.sub('',s)#去掉style

s=re_br.sub('n',s)#将br转换为换行

s=re_h.sub('',s) #去掉HTML 标签

s=re_comment.sub('',s)#去掉HTML注释

#去掉多余的空行

blank_line=pile('n+')

s=blank_line.sub('n',s)

s=replaceCharEntity(s)#替换实体

return s

##替换常用HTML字符实体.

#使用正常的字符替换HTML中特殊的字符实体.

#你可以添加新的实体字符到CHAR_ENTITIES中,处理更多HTML字符实体.

#@param htmlstr HTML字符串.

def replaceCharEntity(htmlstr):

CHAR_ENTITIES={'nbsp':' ','':' ',

'lt':'

'gt':'>','':'>',

'amp':'&','':'&',

'quot':'"','':'"',}

re_charEntity=pile(r'?(?Pw+);')

sz=re_charEntity.search(htmlstr)

while sz:

entity=sz.group()#entity全称,如>

key=sz.group('name')#去除&;后entity,如>为gt

try:

htmlstr=re_charEntity.sub(CHAR_ENTITIES[key],htmlstr,1)

sz=re_charEntity.search(htmlstr)

except KeyError:

#以空串代替

htmlstr=re_charEntity.sub('',htmlstr,1)

sz=re_charEntity.search(htmlstr)

return htmlstr

def repalce(s,re_exp,repl_string):

return re_exp.sub(repl_string,s)

if __name__=='__main__':

str='' # 需要提取的html字符串

str=filter_tags(str)

print(str)

利用正则表达式去除所有html标签,只保留文字

后台将富文本编辑器中的内容返回到前端时如果带上了标签,这时就可以利用这种方法只保留文字. 标签的格式有以下几种 1.

python爬虫2:按html标签提取信息和中文域名处理(BeautifulSoup用法初步)

#!/usr/bin/env python # -*- coding: utf- -*- # python3 import string import urllib from urllib impor ...

Java中正则表达式去除html标签

Java中正则表达式去除html的标签,主要目的更精确的显示内容,比如前一段时间在做类似于博客中发布文章功能,当编辑器中输入内容后会将样式标签也传入后台并且保存数据库,但是在显示摘要的时候,比如显示正 ...

[python] 常用正则表达式爬取网页信息及分析HTML标签总结【转】

[python] 常用正则表达式爬取网页信息及分析HTML标签总结 转/Eastmount/article/details/51082253 标签:pytho ...

运用正则表达式在Asp中过滤Html标签代码的四种不同方法

Function RemoveHTML(strHTML)Dim objregExp, Match, MatchesSet objRegExp = New RegexpobjRegExp.IgnoreC ...

java正则表达式去除html标签

当我们用ckeditor或其他一些在线文本编辑器的时候 内容里会有很多的标签 如下片段:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。