Python 如何使用SGMLParser提取HTML中的指定文本

Python 如何使用SGMLParser提取HTML中的指定文本,python,html,tags,sgml,Python,Html,Tags,Sgml,我创建了一个类扩展SGMLParser: class URLLister(SGMLParser): def __init__(self): SGMLParser.__init__(self) def start_title(self, attrs): pass def handle_data(self, data): print data 非常简单的代码。IMOstart\u title在遇到标记时被调用,而hand

我创建了一个类扩展SGMLParser:

class URLLister(SGMLParser):

    def __init__(self):
        SGMLParser.__init__(self)

    def start_title(self, attrs):
        pass

    def handle_data(self, data):
        print data
非常简单的代码。IMO
start\u title
在遇到
标记时被调用,而
handle\u data
在遇到普通文本时被调用。现在我想提取
之间的文本,例如

<html><head><title>Webpage title</title></head><body>Simple text</body></html>
网页标题简单文本

我想在
标记之间打印
网页标题
,但使用
处理数据
标记,我将输出所有简单文本,包括
网页标题
简单文本
。如何简单地在
标记之间输出文本?

实际上,您可以在
处理数据中添加硬编码签入,如下所示:

def handle_data(self, data):
    tag = self.get_starttag_text().replace("<","").replace(">","")
    tag_words = tag.split(" ")
    if len(tag_words) > 0 and tag_words[0].endswith("title"):
        print data
def handle_数据(self,data):
tag=self.get\u starttag\u text().replace(“,”)
tag_words=tag.split(“”)
如果len(tag_words)>0且tag_words[0]。endswith(“title”):
打印数据
我不确定这是否正是你想要的,我相信有一个更优雅的答案