python文本筛选html_Python使用正则表达式去除(过滤)HTML标签提取文字功能
正则表达式是一个特殊的字符序列,可以帮助您使用模式中保留的专门语法来匹配或查找其他字符串或字符串集。 正则表达式在UNIX世界中被广泛使用。
下面给大家介绍下Python使用正则表达式去除(过滤)HTML标签提取文字,具体代码如下所示:
# -*- coding: utf-8-*-
import re
##过滤HTML中的标签
#将HTML中标签等信息去掉
#@param htmlstr HTML字符串.
def filter_tags(htmlstr):
#先过滤CDATA
re_cdata=re.compile('//]*//]]>',re.I) #匹配CDATA
re_script=re.compile(']*>[^',re.I)#Script
re_style=re.compile(']*>[^',re.I)#style
re_br=re.compile('')#处理换行
re_h=re.compile('?w+[^>]*>')#HTML标签
re_comment=re.compile('')#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=re.compile('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':' ','160':' ',
'lt':'
'gt':'>','62':'>',
'amp':'&','38':'&',
'quot':'"','34':'"',}
re_charEntity=re.compile(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)
总结
以上所述是小编给大家介绍的Python使用正则表达式去除(过滤)HTML标签提取文字功能 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
本文标题: Python使用正则表达式去除(过滤)HTML标签提取文字功能
本文地址: http://www.cppcns.com/wangluo/re/265431.html
python文本筛选html_Python使用正则表达式去除(过滤)HTML标签提取文字功能相关推荐
- python3 正则 去除 html标签、提取正文内容_Python通过正则表达式去除(过滤)HTML标签,提取文字...
# -*- coding: utf-8-*- import re ##过滤HTML中的标签 #将HTML中标签等信息去掉 #@param htmlstr HTML字符串. def filter_tag ...
- python文本筛选html_python 正则表达式过滤文本中的html标签 源代码解析
#py2.7 #coding:utf-8 import re import os import chardet def filter_tag(htmlstr): re_cdata = re.compi ...
- python文本筛选_python 用正则表达式筛选文本信息的实例
本文主要介绍如何对多个文本进行读取,并采用正则表达式对其中的信息进行筛选,将筛选出来的信息存写到一个新文本. 文本基础操作 打开文件:open('文件名','打开方式')>>>fil ...
- Python通过正则表达式去除(过滤)HTML标签,提取文字
# -*- coding: utf-8-*- import re ##过滤HTML中的标签 #将HTML中标签等信息去掉 #@param htmlstr HTML字符串. def filter_tag ...
- 利用正则表达式去除所有html标签,只保留文字
后台将富文本编辑器中的内容返回到前端时如果带上了标签,这时就可以利用这种方法只保留文字. 标签的格式有以下几种 1.<div class="test"></div ...
- python文本筛选_使用python对多个txt文件中的数据进行筛选的方法
使用python对多个txt文件中的数据进行筛选的方法 一.问题描述 筛选出多个txt文件中需要的数据 二.数据准备 这是我自己建立的要处理的文件,里面是随意写的一些数字和字母 三.程序编写 impo ...
- python文本筛选多个word_用Python批量替换多个Word文件中的文字
实例14:用Python批量替换多个Word文件中的文字 公众号"Python操作Office软件高效工作" 29 人赞同了该文章 我们在实例7中批量生成了采购合同.但是假设现在我 ...
- 使用正则过滤掉html标签,正则表达式过滤html标签
正则表达式如何过滤HTML标签中的属性值 去掉html标签: str.replace(//g,"") 去掉标签里面的属性: str.replace(//g,"" ...
- python中文字符串多余空格_python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解...
python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解 在pdf转为文本的时候,经常会多出空格,影响数据观感,因此需要去掉文本中多余的空格,而文本中的英文之间的正常空格需要保留,输入 ...
最新文章
- wkwebView基本使用方法
- SpringBoot面试杀手锏——自动配置原理
- 20145328 《网络对抗技术》恶意代码分析
- 简易嵌入式管理平台 C 实现
- Halcon - 定位 - 卡尺
- 【Android】ContentProvider和Uri详解
- AES-256 加密 PHP实现
- 使用Speedion 3.0.17或更高版本轻松从事务中返回值
- LeetCode 702. 搜索长度未知的有序数组(二分查找)
- 常用工具说明--mongodb、mysql解压版、IDEA配置maven
- 经典故障:四个雷,3*2*2*3种随机方法的特殊恢复案例
- k8s停止服务_Kubernetes 服务部署最佳实践(二) 如何提高服务可用性
- 麦克风阵列树莓派python_使用Python代码进行树莓派上的麦阵列声源定位
- 物理学基石 —— 麦克斯韦方程组
- Github大盘点!2021年最惊艳的38篇AI论文
- 2020如何一键群发小程序给5000好友或群
- 鲁棒性的含义以及如何提高模型的鲁棒性
- 送人玫瑰,手有余香!
- 什么是交叉(cross-over)网线?
- 基于安卓的高清语音技术亮相中国国际通信展览会