python 去除html标签的代码详解编程语言
2023-06-13 09:20:24 时间
re_cdata=re.compile(// !/[CDATA/[[^ ]*///]/] ,re.I) #匹配CDATA
re_script=re.compile( /s*script[^ ]* [^ ]* /s*//s*script/s* ,re.I)#Script
re_ /s*style[^ ]* [^ ]* /s*//s*style/s* ,re.I)#style
re_br=re.compile( br/s*?/? )#处理换行
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转换为换行
blank_line=re.compile(/n+)#去掉多余的空行
s = blank_line.sub(/n,s)
s=re_h.sub(,s) #去掉HTML 标签
s=re_comment.sub(,s)#去掉HTML注释
#去掉多余的空行
blank_line=re.compile(/n+)
s=blank_line.sub(/n,s)
filterTag = FilterTag()
s=filterTag.replaceCharEntity(s)#替换实体
print s
def replaceCharEntity(self,htmlStr):
替换html中常用的字符实体
使用正常的字符替换html中特殊的字符实体
可以添加新的字符实体到CHAR_ENTITIES 中
CHAR_ENTITIES是一个字典前面是特殊字符实体 后面是其对应的正常字符
:param htmlStr:
self.htmlStr = htmlStr
CHAR_ENTITIES={nbsp: ,160: ,
lt: ,60: ,
gt: ,62: ,
amp: ,38: ,
quot:",34:",}
re_charEntity=re.compile(r #?(?P name /w+);)
sz=re_charEntity.search(htmlStr)
while sz:
entity=sz.group()#entity全称,如
key=sz.group(name)#去除 后的字符如(" "--- key = "nbsp") 去除 后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 replace(self,s,re_exp,repl_string):
return re_exp.sub(repl_string)
相关文章
- mac如何卸载python_如何彻底卸载pycharm
- python详细安装教程环境配置_Python配置环境
- python_字典列表嵌套的排序问题
- python移动app开发_神奇的Kivy,让Python快速开发移动app
- python jieba库_Python jieba库的使用说明「建议收藏」
- 用html做简单的日记,学习HTML日记[通俗易懂]
- python全局变量赋值_Python全局变量和局部变量[通俗易懂]
- Python 技巧篇-pip卸载python库实例演示,查看pip命令大全方法[通俗易懂]
- 【说站】python抛出raise异常的注意点
- 【说站】python卡方检验是什么
- 安装python的文字识别库easyocr出现的问题及解决办法
- Python读取文件夹中的所有Excel文件名
- Python字符串格式化_占位符_变量转换_Python自学第十八节
- 10大python加速技巧
- opencv(4.5.3)-python(二十四)--直方图均衡化
- 【python】函数详解
- python-Python与SQLite数据库-处理SQLite查询结果(一)
- 用Python 实现的目录拷贝程序详解编程语言
- python web框架学习笔记详解编程语言
- Python缓存重用机制
- 如何使用Python安装MySQL(python安装mysql)
- 提升Linux环境:升级Python(linux升级python)
- MySQL存储HTML页面的简单技巧(mysql存储html)
- 你使用过 Python 3.6 中针对文件系统的这个神奇方法吗?
- Python连接MySQL数据库:初学者指南(python入mysql)
- Python爬取MySQL数据,助力数据分析(python读取mysql数据)
- 在Linux上安装Python学习快乐(linux下载python)