我已经制作了一个简单的
HTML解析器,它基本上是来自文档的直接复制.我无法在不将数据拆分成多个块的情况下对特殊字符进行转义.
这是我的代码,有一个简单的例子:
from HTMLParser import HTMLParser
class MyHTMLParser(HTMLParser):
def __init__(self):
HTMLParser.__init__(self)
self.data = []
def handle_starttag(self, tag, attrs):
#print (tag,attrs)
pass
def handle_endtag(self, tag):
#print (tag)
pass
def handle_data(self, data):
self.data.append(data)
def handle_charref(self, ref):
self.handle_entityref("#" + ref)
def handle_entityref(self, ref):
self.handle_data(self.unescape("&%s;" % ref))
n = "I <3s U & you luvz me"
parser = MyHTMLParser()
parser.feed(n)
parser.close()
data = parser.data
print(data)
问题是这会返回5个独立的数据位
['I ', u'
我想要的是单个字符串:
['I <3s U & you luvz me']
谢谢
J.P