我在加载包含文字(未转义)电子邮件标签的网页时遇到问题,例如
<html>
<head>
<title>Testing</title>
</head>
<body>
<p>Testing testing.</p>
<p>This is an email address for <joe@somewhere.com></p>
</body>
</html>
当它击中该块时解析失败:
文件“/tools/oss/packages/x86_64-rhel5/python/2.7.1/lib/python2.7/HTMLParser.py”,第115行,出错 引发HTMLParseError(message,self.getpos()) HTMLParseError:格式错误的开始标记,位于第748行,第82列
我无法相信我是第一个遇到此问题的人,但我无法立即找到任何帮助或有用的文档。我错过了一些明显的东西吗?
谢谢,
- 保罗
答案 0 :(得分:0)
始终如此 - 当您发布问题时,您会突然找到答案。
看起来我遇到了http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=516824中描述的错误 - 更新到后来的BeautifulSoup确实解决了这个问题。
答案 1 :(得分:-1)
这是BeautifulSoup的常见问题。 它不处理格式错误的标记,因为它使用正则表达式来检测标记。
为python尝试lxml。值得一提的是,它与BeautifulSoup类似。
http://lxml.de/elementsoup.html
PS:更新BeautifulSoup也可能有所帮助。