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