python對(duì)html過濾處理的方法
更新時(shí)間:2018年10月21日 15:33:39 作者:striverpan
今天小編就為大家分享一篇python對(duì)html過濾處理的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
如下所示:
##過濾HTML中的標(biāo)簽
#將HTML中標(biāo)簽等信息去掉
#@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標(biāo)簽
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轉(zhuǎn)換為換行
s=re_h.sub('',s) #去掉HTML 標(biāo)簽
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)#替換實(shí)體
return s
##替換常用HTML字符實(shí)體.
#使用正常的字符替換HTML中特殊的字符實(shí)體.
#你可以添加新的實(shí)體字符到CHAR_ENTITIES中,處理更多HTML字符實(shí)體.
#@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對(duì)html過濾處理的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python爬取新型冠狀病毒“謠言”新聞進(jìn)行數(shù)據(jù)分析
這篇文章主要介紹了Python爬取新型冠狀病毒“謠言”新聞進(jìn)行數(shù)據(jù)分析,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02
YOLOv5車牌識(shí)別實(shí)戰(zhàn)教程(四)模型優(yōu)化與部署
這篇文章主要介紹了YOLOv5車牌識(shí)別實(shí)戰(zhàn)教程(四)模型優(yōu)化與部署,在這個(gè)教程中,我們將一步步教你如何使用YOLOv5進(jìn)行車牌識(shí)別,幫助你快速掌握YOLOv5車牌識(shí)別技能,需要的朋友可以參考下2023-04-04
python二分查找算法的遞歸實(shí)現(xiàn)方法
這篇文章主要介紹了python二分查找算法的遞歸實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了Python二分查找算法的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
2016-05-05
Pycharm安裝報(bào)錯(cuò):Cannot detect a launch confi
本文主要介紹了Pycharm安裝報(bào)錯(cuò):Cannot detect a launch configuration解決辦法,具有一定的參考價(jià)值,感興趣的可以了解一下
2025-03-03
Python爬蟲開發(fā)與項(xiàng)目實(shí)戰(zhàn)
本書從基本的爬蟲原理開始講解,通過介紹Pthyon編程語言和Web前端基礎(chǔ)知識(shí)引領(lǐng)讀者入門,之后介紹動(dòng)態(tài)爬蟲原理以及Scrapy爬蟲框架,最后介紹大規(guī)模數(shù)據(jù)下分布式爬蟲的設(shè)計(jì)以及PySpider爬蟲框架等,需要的朋友快來下載電子版吧
2020-12-12 
