2016-11-29 61 views
0

我有一篇文章的html文檔。我有一些標籤,可以用於文本格式。但我的文本編輯器使用了大量不必要的標籤進行格式化。我想用Python編寫一個程序來過濾這些標籤。 這樣一個程序的主要邏輯(結構,策略)是什麼?我是Python的初學者,希望通過解決實際的實際任務來學習這門語言。但我需要一些總體概述才能開始。如何用Python過濾html標籤

+0

你找到你要找的東西? – Jarvis

回答

0

使用BeautifulSoup

from BeautifulSoup import BeautifulSoup 
html_string = #the HTML code 
parsed_html = BeautifulSoup(html) 
print parsed_html.body.find('div', attrs = {attrs inside html code}).text 

這裏,div只是標籤,你可以使用你要篩選其文本的任何標記。

0

只是不知道什麼會錯過,但你可以使用正則表達式。

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

上述功能將搜索...

否則,你可以使用的HTMLParser

from HTMLParser import HTMLParser 

class MLStripper(HTMLParser): 
    def __init__(self): 
     self.reset() 
     self.fed = [] 
    def handle_data(self, d): 
     self.fed.append(d) 
    def handle_entityref(self, name): 
     self.fed.append('&%s;' % name) 
    def get_data(self): 
     return ''.join(self.fed) 

def html_to_text(html): 
    s = MLStripper() 
    s.feed(html) 
    return s.get_data()