gpt4 book ai didi

python - 为什么 BeautifulSoup 会抛出这个 HTMLParseError?

转载 作者:太空宇宙 更新时间:2023-11-04 07:48:19 25 4
gpt4 key购买 nike

我原以为 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 将页面保存在本地,并尝试从文件的内容创建一个 soup 对象。这就是 BeautifulSoup 失败的地方。如果我尝试直接从网站创建一个 soup 对象,它就可以工作。 Here's给 soup 带来麻烦的文件。

最佳答案

使用 BeautifulSoup 版本 3.0.7 对我来说效果很好。最新版本是 3.1.0,但 BeautifulSoup 主页上有一条说明,如果您遇到问题,请尝试使用 3.0.7a。我想我前段时间遇到了与您类似的问题并恢复了,这解决了问题;我会尝试的。

如果您想坚持使用当前版本,我建议删除大 <script>阻止在顶部,因为那是发生错误的地方,并且因为无论如何您都无法使用 BeautifulSoup 解析该部分。

关于python - 为什么 BeautifulSoup 会抛出这个 HTMLParseError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1111656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com