BeautifulSoup无法使用
我正在尝试使用BeautifulSoup导入我的博客内容,下面是我使用的语法:
import urllib2
from BeautifulSoup import BeautifulSoup
response=urllib2.urlopen('http://www.bugsandbrains.blogspot.com')
html=response.read()
soup=BeautifulSoup(html)
一开始一切都很好,运行了两三次之后,它开始出现HtmlParseError
错误。我觉得页面的结构在几分钟内不太可能发生变化,那还有什么其他原因可能导致这个问题呢?
我也附上了错误的追踪信息。
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/usr/lib/pymodules/python2.6/BeautifulSoup.py", line 1499, in __init__
BeautifulStoneSoup.__init__(self, *args, **kwargs)
File "/usr/lib/pymodules/python2.6/BeautifulSoup.py", line 1230, in __init__
self._feed(isHTML=isHTML)
File "/usr/lib/pymodules/python2.6/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 150, in goahead
k = self.parse_endtag(i)
File "/usr/lib/python2.6/HTMLParser.py", line 317, in parse_endtag
self.error("bad end tag: %r" % (rawdata[i:j],))
File "/usr/lib/python2.6/HTMLParser.py", line 115, in error
raise HTMLParseError(message, self.getpos())
HTMLParseError: bad end tag: u"</scr' + 'ipt>", at line 1152, column 16
2 个回答
1
我试过你的代码,结果是可以运行的。我的环境是:ActivePython 2.6.6.15,BeautifulSoup 3.0.8.1。我打印了 soup
这个变量,里面有“无聊引发的帖子”的内容。当我用浏览器测试 http://www.bugsandbrains.blogspot.com 时,显示的是Wave Sandbox的登录页面。我不知道哪里出了问题 :(
1
我刚在Windows上试了你的代码,使用的是:
Python: 2.6
(和你的一样)BeautiSoup: 3.0.8.1
(最新版本)
我没有复现出你说的问题。你是不是在用最新的代码3.0系列
,这个是给Python 2.6
用的,而不是3.1系列
,那个是给Python 3
用的[0]。抱歉,现在想不出其他的线索了。
[0] http://www.crummy.com/software/BeautifulSoup/#Download