确保页面已在Python中正确下载

时间:2012-01-31 13:52:00

标签: python beautifulsoup mechanize

我正在使用Python中的Mechanize和BeautifulSoup(BS)编写一个基本的屏幕抓取脚本。但是,我遇到的问题是由于某种原因,所请求的页面每次都无法正确下载。我结束这个是因为当使用BS搜索下载的页面作为当前标签时,我收到错误。如果我再次下载页面,它可以正常工作。

因此,我想编写一个小函数来检查页面是否已正确下载并在必要时重新下载(我也可以通过弄清楚出了什么问题来解决它,但这对我来说可能太高级了)。我的问题是如何检查页面是否已正确下载?

3 个答案:

答案 0 :(得分:0)

您只需检查您希望在那里的标签,如果失败,请重复下载。

page = BeautifulSoup(page)

while page.body = None:
    #redownload the page
    page = BeautifulSoup(page)
#now you can use the data

答案 1 :(得分:0)

我认为如果这个标签在,我可以简单地搜索html结束标记 - 这是一个有效的页面。

答案 2 :(得分:0)

最通用的解决方案是检查</html>结束标记是否存在。这将允许您检测页面的截断。

其他任何事情,你必须更清楚地描述你的失败模式。