BeautifulSoup无法使用

0 投票
2 回答
924 浏览
提问于 2025-04-16 06:36

我正在尝试使用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

撰写回答