我认为 BeautifulSoup 将能够处理格式错误的文档,但是当我将页面源发送给它时,会打印以下回溯:
Traceback (most recent call last):
File "mx.py", line 7, in
s = BeautifulSoup(content)
File "build\bdist.win32\egg\BeautifulSoup.py", line 1499, in __init__
File "build\bdist.win32\egg\BeautifulSoup.py", line 1230, in __init__
File "build\bdist.win32\egg\BeautifulSoup.py", line 1263, in _feed
File "C:\Python26\lib\HTMLParser.py", line 108, in feed
self.goahead(0)
File "C:\Python26\lib\HTMLParser.py", line 150, in goahead
k = self.parse_endtag(i)
File "C:\Python26\lib\HTMLParser.py", line 314, in parse_endtag
self.error("bad end tag: %r" % (rawdata[i:j],))
File "C:\Python26\lib\HTMLParser.py", line 115, in error
raise HTMLParseError(message, self.getpos())
HTMLParser.HTMLParseError: bad end tag: u"", at line 258, column 34
它不应该能够处理这种事情吗?如果它可以处理它们,我该怎么做?如果没有,是否有可以处理格式错误的文档的模块?
编辑:这是一个更新。我使用 Firefox 将页面保存在本地,并尝试从文件内容创建一个汤对象。这就是 BeautifulSoup 失败的地方。如果我尝试直接从网站创建一个汤对象,它可以工作。这是给汤带来麻烦的文件。