2016-11-29 52 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()