我正在尝试使用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
答案 0 :(得分:1)
我刚刚在Windows上尝试使用以下代码:
Python: 2.6
(与您的相同)BeautiSoup: 3.0.8.1
(最新)我无法重现这一点。您使用的是用于3.0 series
的最新代码Python 2.6
,而不是3.1 series
[0] 的Python 3
。对不起,但现在想不出任何其他线索。
[0] http://www.crummy.com/software/BeautifulSoup/#Download
答案 1 :(得分:1)
我已经尝试过您的代码,但它确实有用。我的环境:ActivePython 2.6.6.15,BeautifulSoup 3.0.8.1。我打印出soup
变量,其中包含“Boredom Induced Post”的内容。当我使用浏览器测试http://www.bugsandbrains.blogspot.com时,他们会显示Wave Sandbox登录页面。不知道出了什么问题:(