Python去除html標(biāo)簽的幾種方法總結(jié)
Python去除html標(biāo)簽的方法
最近小說看得比較多,但是很多小說網(wǎng)站都存在各種小廣告,看起來很不方便,所以就自己寫了個(gè)小程序,把小說都爬下來,然后搭個(gè)自己喜歡web頁面來看。
在爬取過程中沒有出現(xiàn)太大的問題,只有在清洗數(shù)據(jù)時(shí),發(fā)現(xiàn)小說文本中混雜HTML標(biāo)簽,所以就需要對標(biāo)簽進(jìn)行清洗。
我自己嘗試了字符串的處理方式,正則,還有l(wèi)xml等方式來處理這個(gè)問題,現(xiàn)在記錄一下使用方式。
我們使用下面這個(gè)字符串舉例說明,內(nèi)容為一段html代碼。需要對這段字符串進(jìn)行處理,提取文本
html = '<p>你好</p><br/><font>哈哈</font><b>大家好</b>'
1. 使用正則來處理
import re pattern = re.compile(r'<[^>]+>',re.S) result = pattern.sub('', html) print(result)
輸出結(jié)果:
你好哈哈大家好
2. 使用BeautifulSoup來處理
from bs4 import BeautifulSoup soup = BeautifulSoup(html,'html.parser') print(soup.get_text())
輸出結(jié)果:
你好哈哈大家好
3. 使用lxml來出來
from lxml import etree response = etree.HTML(text=html) # print(dir(response)) print(response.xpath('string(.)'))
輸出結(jié)果:
你好哈哈大家好
python正則表達(dá)式去除html標(biāo)簽的屬性
import re test='<p class="pictext" align="center">陳細(xì)妹</p>' test=re.sub(r'(<[^>\s]+)\s[^>]+?(>)', r'\1\2', test) print(test)
輸出
<p>陳細(xì)妹</p>
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Django Serializer HiddenField隱藏字段實(shí)例
這篇文章主要介紹了Django Serializer HiddenField隱藏字段實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03基于python實(shí)現(xiàn)對文件進(jìn)行切分行
這篇文章主要介紹了基于python實(shí)現(xiàn)對文件進(jìn)行切分行,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04python函數(shù)與方法的區(qū)別總結(jié)
在本篇文章里小編給大家整理了關(guān)于python函數(shù)與方法的區(qū)別的相關(guān)知識點(diǎn)代碼內(nèi)容,需要的朋友們學(xué)習(xí)下。2019-06-06利用pandas進(jìn)行數(shù)據(jù)清洗的7種方式
采集到原始的數(shù)據(jù)中會(huì)存在一些噪點(diǎn)數(shù)據(jù),噪點(diǎn)數(shù)據(jù)是對分析無意義或者對分析起到偏執(zhí)作用的數(shù)據(jù),所以這篇文章給大家介紹了利用pandas進(jìn)行數(shù)據(jù)清洗的7種方式,需要的朋友可以參考下2024-03-03Django中Cookie搭配Session使用實(shí)踐
session和cookie功能差不多,同樣是用來記錄用戶信息和維持會(huì)話狀態(tài)的,但是session是依賴cookie的,本文主要介紹了Django中Cookie搭配Session使用實(shí)踐,感興趣的可以了解一下2021-09-09python如何統(tǒng)計(jì)代碼運(yùn)行的時(shí)長
這篇文章主要介紹了python如何統(tǒng)計(jì)代碼運(yùn)行的時(shí)長,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07