【发布时间】:2012-10-30 16:21:40
【问题描述】:
我爬取了以下页面:
http://www.nasa.gov/topics/earth/features/plains-tornadoes-20120417.html
但是在调用 BeautifulSoup(page_html) 时出现分段错误(核心转储),其中 page_html 是请求库中的内容。这是 BeautifulSoup 的错误吗?有什么办法可以解决这个问题吗?甚至像 try...except 这样的方法也会帮助我运行我的代码。提前致谢。
代码如下:
import requests
from bs4 import BeautifulSoup
toy_url = 'http://www.nasa.gov/topics/earth/features/plains-tornadoes-20120417.html'
res = requests.get(toy_url,headers={"USER-Agent":"Firefox/12.0"})
page = res.content
soup = BeautifulSoup(page)
【问题讨论】:
-
请显示您使用的代码,以便可以复制(我无法使用 urllib2 和 BeautifulSoup 复制)。
-
@DavidRobinson 现在附加代码。感谢您的提问。
-
安装
lxml。由于标签错误,py2.7 的默认 HTML 解析器不会解析此页面......顺便说一句,py3.2 工作正常。 (不能让它出现段错误) -
奇怪的是,这段代码对我来说也很好用(没有段错误)。我在 Mac OS X 10.7.3 上使用 Python 2.7.1,最新版本为
bs4和requests(刚刚安装)。 -
@JBernardo 我最初在 python2.7 中将 'lxml' 与 BeautifulSoup(page,'lxml') 一起使用,但它得到了片段。不幸的是,我现在不能使用 py3.2,因为它可能与我的代码的其他部分不兼容。
标签: python screen-scraping web-scraping beautifulsoup