正则表达式是一个特殊的字符序列,可以帮助您使用模式中保留的专门语法来匹配或查找其他字符串或字符串集。 正则表达式在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标签提取文字功能相关推荐

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

    # -*- coding: utf-8-*- import re ##过滤HTML中的标签 #将HTML中标签等信息去掉 #@param htmlstr HTML字符串. def filter_tag ...

  2. python文本筛选html_python 正则表达式过滤文本中的html标签 源代码解析

    #py2.7 #coding:utf-8 import re import os import chardet def filter_tag(htmlstr): re_cdata = re.compi ...

  3. python文本筛选_python 用正则表达式筛选文本信息的实例

    本文主要介绍如何对多个文本进行读取,并采用正则表达式对其中的信息进行筛选,将筛选出来的信息存写到一个新文本. 文本基础操作 打开文件:open('文件名','打开方式')>>>fil ...

  4. Python通过正则表达式去除(过滤)HTML标签,提取文字

    # -*- coding: utf-8-*- import re ##过滤HTML中的标签 #将HTML中标签等信息去掉 #@param htmlstr HTML字符串. def filter_tag ...

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

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

  6. python文本筛选_使用python对多个txt文件中的数据进行筛选的方法

    使用python对多个txt文件中的数据进行筛选的方法 一.问题描述 筛选出多个txt文件中需要的数据 二.数据准备 这是我自己建立的要处理的文件,里面是随意写的一些数字和字母 三.程序编写 impo ...

  7. python文本筛选多个word_用Python批量替换多个Word文件中的文字

    实例14:用Python批量替换多个Word文件中的文字 公众号"Python操作Office软件高效工作" 29 人赞同了该文章 我们在实例7中批量生成了采购合同.但是假设现在我 ...

  8. 使用正则过滤掉html标签,正则表达式过滤html标签

    正则表达式如何过滤HTML标签中的属性值 去掉html标签: str.replace(//g,"") 去掉标签里面的属性: str.replace(//g,"" ...

  9. python中文字符串多余空格_python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解...

    python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解 在pdf转为文本的时候,经常会多出空格,影响数据观感,因此需要去掉文本中多余的空格,而文本中的英文之间的正常空格需要保留,输入 ...

最新文章

  1. wkwebView基本使用方法
  2. SpringBoot面试杀手锏——自动配置原理
  3. 20145328 《网络对抗技术》恶意代码分析
  4. 简易嵌入式管理平台 C 实现
  5. Halcon - 定位 - 卡尺
  6. 【Android】ContentProvider和Uri详解
  7. AES-256 加密 PHP实现
  8. 使用Speedion 3.0.17或更高版本轻松从事务中返回值
  9. LeetCode 702. 搜索长度未知的有序数组(二分查找)
  10. 常用工具说明--mongodb、mysql解压版、IDEA配置maven
  11. 经典故障:四个雷,3*2*2*3种随机方法的特殊恢复案例
  12. k8s停止服务_Kubernetes 服务部署最佳实践(二) 如何提高服务可用性
  13. 麦克风阵列树莓派python_使用Python代码进行树莓派上的麦阵列声源定位
  14. 物理学基石 —— 麦克斯韦方程组
  15. Github大盘点!2021年最惊艳的38篇AI论文
  16. 2020如何一键群发小程序给5000好友或群
  17. 鲁棒性的含义以及如何提高模型的鲁棒性
  18. 送人玫瑰,手有余香!
  19. 什么是交叉(cross-over)网线?
  20. 基于安卓的高清语音技术亮相中国国际通信展览会

热门文章

  1. FileLocatorPro正则表达式批量搜索文件中的字符串
  2. 2020-11-16(补码转换为无符号数)
  3. 【web安全】记一次 Commons Collections 新调用链的挖掘
  4. C++实现类不可复制
  5. c/c++字符串混淆工具
  6. C++约瑟夫问题求解
  7. 破解入门(六)-----实战“内存镜像法”脱壳
  8. 2021夏季每日一题 【week4 完结】
  9. 用tolower()和toupper()来实现对string进行大小写转换
  10. Linux监控服务命令