我有一篇文章的html文档。我有一些标签,我可以用来进行文本格式化。但我的文本编辑器使用了许多不必要的标签进行格式化。我想用Python编写一个程序来过滤这些标签。 这样一个程序的主要逻辑(结构,策略)是什么?我是Python的初学者,希望通过解决实际的实际任务来学习这门语言。但我需要一些概述来开始。
答案 0 :(得分:0)
使用BeautifulSoup
:
from BeautifulSoup import BeautifulSoup
html_string = # the HTML code
parsed_html = BeautifulSoup(html_string)
print parsed_html.body.find('div', attrs = {attrs inside html code}).text
此处,div
只是标记,您可以使用要过滤其文字的任何标记。
答案 1 :(得分:0)
您的要求不太明确,但您应该在python中使用现成的解析器,如BeautifulSoup。
您可以找到tutorial here
答案 2 :(得分: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()