Skip to main content
 首页 » 编程设计

python之如何修复此错误或对此错误进行异常(exception)处理

2025年05月04日20zhenyulu

我正在创建一个从任何网页获取图像 url 的代码,该代码在 python 中并使用 BeutifulSoup 和 httplib2。 当我运行代码时,出现下一个错误:

Look me http://movies.nytimes.com          (this line is printed by the code) 
Traceback (most recent call last): 
File "main.py", line 103, in <module> 
visit(initialList,profundidad) 
File "main.py", line 98, in visit 
visit(dodo[indice], bottom -1) 
File "main.py", line 94, in visit 
getImages(w) 
File "main.py", line 34, in getImages 
iSoupList = BeautifulSoup(response, parseOnlyThese=SoupStrainer('img')) 
File "/usr/local/lib/python2.6/dist-packages/BeautifulSoup.py", line 1499, in __init__ 
BeautifulStoneSoup.__init__(self, *args, **kwargs) 
File "/usr/local/lib/python2.6/dist-packages/BeautifulSoup.py", line 1230, in __init__ 
self._feed(isHTML=isHTML) 
File "/usr/local/lib/python2.6/dist-packages/BeautifulSoup.py", line 1263, in _feed 
self.builder.feed(markup) 
File "/usr/lib/python2.6/HTMLParser.py", line 108, in feed 
self.goahead(0) 
File "/usr/lib/python2.6/HTMLParser.py", line 148, in goahead 
k = self.parse_starttag(i) 
File "/usr/lib/python2.6/HTMLParser.py", line 226, in parse_starttag 
endpos = self.check_for_whole_start_tag(i) 
File "/usr/lib/python2.6/HTMLParser.py", line 301, in check_for_whole_start_tag 
self.error("malformed start tag") 
File "/usr/lib/python2.6/HTMLParser.py", line 115, in error 
raise HTMLParseError(message, self.getpos()) 
HTMLParser.HTMLParseError: malformed start tag, at line 942, column 118 

有人可以向我解释如何修复或排除错误

请您参考如下方法:

您使用的是最新版本的 BeautifulSoup 吗?
这似乎是 3.1.x 版的一个已知问题,因为它开始使用新的解析器(HTMLParser,而不是 SGMLParser),该解析器在处理格式错误的 HTML 方面要差得多。您可以在 BeautifulSoup website 上找到更多相关信息。 .
作为快速解决方案,您可以简单地使用旧版本 ( 3.0.7a )。