第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從Python中的字符串中剝離HTML

從Python中的字符串中剝離HTML

藍(lán)山帝景 2019-06-18 16:05:53
從Python中的字符串中剝離HTMLfrom mechanize import Browserbr = Browser()br.open('http://somewebpage')html = br.response().readlines()for line in html:   print line在HTML文件中打印一行時,我試圖找到一種方法只顯示每個HTML元素的內(nèi)容,而不是格式本身。如果它發(fā)現(xiàn)'<a href="whatever.com">some text</a>',它只會打印“一些文本”,'<b>hello</b>'打印“你好”等等。你會怎么做呢?
查看完整描述

5 回答

?
手掌心

TA貢獻1942條經(jīng)驗 獲得超3個贊

我總是使用這個函數(shù)來去掉HTML標(biāo)記,因為它只需要Pythonstdlib:

關(guān)于Python 2

from HTMLParser import HTMLParserclass MLStripper(HTMLParser):
    def __init__(self):
        self.reset()
        self.fed = []
    def handle_data(self, d):
        self.fed.append(d)
    def get_data(self):
        return ''.join(self.fed)def strip_tags(html):
    s = MLStripper()
    s.feed(html)
    return s.get_data()

用于Python 3

from html.parser import HTMLParserclass MLStripper(HTMLParser):
    def __init__(self):
        self.reset()
        self.strict = False
        self.convert_charrefs= True
        self.fed = []
    def handle_data(self, d):
        self.fed.append(d)
    def get_data(self):
        return ''.join(self.fed)def strip_tags(html):
    s = MLStripper()
    s.feed(html)
    return s.get_data()

*這只適用于3.1。對于3.2或更高版本,您需要調(diào)用父類的依尼特功能??匆?/trans>在Python3.2中使用HTMLParser


查看完整回答
反對 回復(fù) 2019-06-18
?
動漫人物

TA貢獻1815條經(jīng)驗 獲得超10個贊

我沒有想過它會錯過多少案例,但是您可以做一個簡單的正則表達式:

re.sub('<[^<]+?>', '', text)

對于那些不理解regex的人,這將搜索一個字符串。<...>,其中的內(nèi)部內(nèi)容由一個或多個(+)不是<..這個?意味著它將匹配它能找到的最小字符串。例如,給出<p>Hello</p>,它會匹配的<'p></p>分別與?..如果沒有它,它將匹配整個字符串。<..Hello..>.

如果非標(biāo)簽<出現(xiàn)在html中(例如。2 < 3),它應(yīng)該寫成轉(zhuǎn)義序列&...總之所以^<可能沒必要。


查看完整回答
反對 回復(fù) 2019-06-18
  • 5 回答
  • 0 關(guān)注
  • 929 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號