Geo*_*Geo 1 python parsing exception beautifulsoup malformed
我认为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
Run Code Online (Sandbox Code Playgroud)
它应该不能处理这种东西吗?如果它可以处理它们,我怎么能这样做?如果没有,是否有一个可以处理格式错误的文件的模块?
编辑:这是一个更新.我使用firefox在本地保存了页面,我尝试从文件的内容创建一个汤对象.这就是BeautifulSoup失败的地方.如果我尝试直接从网站创建汤对象,它的工作原理.这是导致汤麻烦的文件.
使用BeautifulSoup 3.0.7版为我工作得很好.最新的是3.1.0,但是如果你遇到麻烦,可以在BeautifulSoup主页上注意尝试3.0.7a.我想我前段时间遇到了类似的问题并且还原了,这解决了问题; 我试试看.
如果你想坚持你当前的版本,我建议删除<script>顶部的大块,因为那是错误发生的地方,因为你无论如何都无法用BeautifulSoup解析那个部分.
| 归档时间: |
|
| 查看次数: |
2845 次 |
| 最近记录: |