当前位置:主页 > python教程 > python对html过滤处理的方法

python对html过滤处理实例详解

发布:2019-08-15 21:38:31 143


给寻找编程代码教程的朋友们精选了相关的编程文章,网友田安琪根据主题投稿了本篇教程内容,涉及到python、html、过滤、python对html过滤处理的方法相关内容,已被541网友关注,内容中涉及的知识点可以在下方直接下载获取。

python对html过滤处理的方法

如下所示:

##过滤HTML中的标签
#将HTML中标签等信息去掉
#@param htmlstr HTML字符串.
def filter_tags(htmlstr):
 #先过滤CDATA
 re_cdata=re.compile('//<!\[CDATA\[[^>]*//\]\]>',re.I) #匹配CDATA
 re_script=re.compile('<\s*script[^>]*>[^<]*<\s*/\s*script\s*>',re.I)#Script
 re_style=re.compile('<\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注释
 re_stopwords=re.compile('\u3000')#去除无用的'\u3000'字符
 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注释
 s=re_stopwords.sub('',s)
 #去掉多余的空行
 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':'<','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')#去除&;后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

以上这篇python对html过滤处理的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。


参考资料

相关文章

  • Python实现PS图像明亮度调节的代码分析

    发布:2020-02-07

    这篇文章主要介绍了Python实现PS图像明亮度调整效果,结合实例形式分析了Python基于skimage模块调整图片明亮度的原理与具体操作技巧,需要的朋友可以参考下


  • python实现剪切功能

    发布:2019-12-04

    这篇文章主要为大家详细介绍了一段python代码编写实现的剪切功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下


  • 分享Python 的24个编程超好用技巧

    发布:2023-01-18

    给大家整理了关于Python 技巧的教程,这篇文章主要给大家分享Python 的24个编程超好用技巧,下面分享一些python技巧和 tips,这些技巧将根据其首字母按 A-Z 的顺序进行展示,具有一定的参考价值,需要的小伙伴可以参考一下


  • E: 无法定位软件包 python3-pip问题及解决

    发布:2023-03-29

    这篇文章主要介绍了E: 无法定位软件包 python3-pip问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教


  • python正则分析nginx的访问日志详细方法

    发布:2019-09-14

    最近工作中遇到一个需求,是要分析nginx的访问日志,觉着利用python来实现比较合适,所以下面这篇文章主要介绍了利用python正则如何分析nginx的访问日志,需要的朋友可以参考借鉴,下面来一


  • Python实现曲线的肘部点检测详解

    发布:2023-03-23

    肘部法则是经常使用的法则。很多时候,可以凭人工经验去找最优拐点,但有时需要自动寻找拐点。本文为大家介绍了Python实现曲线的肘部点检测的方法,希望对大家有所帮助


  • python线程锁相关技巧和操作示例

    发布:2018-09-14

    在本篇文章中,我们给大家详细介绍了Python的线程锁相关的使用技巧以及相关知识点内容,并配合的示例做了说明,有兴趣的读者们参考下。


  • Python使用爬虫抓取美女图片的代码详解

    发布:2020-07-24

    这篇文章主要介绍了Python使用爬虫抓取美女图片并保存到本地的方法,涉及Python基于正则、爬虫实现的图片抓取与保存相关操作技巧,需要的朋友可以参考下


网友讨论