Python 如何使用SGMLParser提取HTML中的指定文本
我创建了一个类扩展SGMLParser: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
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
在遇到
标记时被调用,而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”):
打印数据
我不确定这是否正是你想要的,我相信有一个更优雅的答案