【发布时间】:2011-08-29 10:55:34
【问题描述】:
scraperwiki 如何决定停止预定的运行?它是基于实际执行时间还是 CPU 时间?或者是别的什么。
我抓取了一个网站,Mechanize 需要 30 秒来加载每个页面,但我使用很少的 CPU 来处理页面,所以我想知道服务器的缓慢是否是一个主要问题。
【问题讨论】:
标签: scraperwiki
scraperwiki 如何决定停止预定的运行?它是基于实际执行时间还是 CPU 时间?或者是别的什么。
我抓取了一个网站,Mechanize 需要 30 秒来加载每个页面,但我使用很少的 CPU 来处理页面,所以我想知道服务器的缓慢是否是一个主要问题。
【问题讨论】:
标签: scraperwiki
CPU 时间,而不是挂钟时间。它基于 Linux 函数 setrlimit。
每次刮板运行的处理时间限制为大约 80 秒。之后,在 Python 和 Ruby 中你会得到一个异常“ScraperWiki CPU time exceeded”。在 PHP 中,它将以“由 SIGXCPU 终止”结束。
在许多情况下,当您第一次抓取网站时会发生这种情况,以弥补现有数据的积压。处理它的最好方法是让你的爬虫使用 save_var 和 get_var 函数(见http://scraperwiki.com/docs/python/python_help_documentation/)一次做一个块来记住你的位置。
这还可以让您更轻松地从其他解析错误中恢复。
【讨论】: