【发布时间】:2012-01-12 10:03:33
【问题描述】:
我在通过命令行运行的 GoDaddy 共享 LAMP 服务器上有一个 PHP 屏幕抓取脚本。
脚本抓取、解析所需信息并将其存储在数据库中。每个页面的整个过程大约需要 1.5 秒,并且需要抓取接近 10,000 个页面(并且对于每个页面,从另外两个页面获取 cookie,使其总共有 30k 个页面是curled)。
整个脚本大约需要 5 个小时才能运行。我做了一些内存分析,在整个运行过程中内存消耗或多或少保持不变 - 它不会增加。
如果我要在一夜之间运行脚本,GoDaddy 会注意到它有什么异常吗? CPU 消耗不应该太多,但在 5 小时内每 1.5 秒获取 3 个页面的带宽消耗会有多糟糕?足以在 GoDaddy 的末日发出警报?
如果是,我想我可以分解脚本运行 1500 页,然后暂停一小时然后继续。我应该这样做吗?
【问题讨论】:
-
试试吧,Godaddy 会告诉你的。然后,您可以稍后决定如何解决具体(而非虚构)问题。
-
"如果我一夜之间运行脚本,GoDaddy 会注意到它有什么异常吗?CPU 消耗应该不会太多,但是持续时间每 1.5 秒取 3 个页面的带宽消耗会有多糟糕5 小时?足以在 GoDaddy 结束时发出警报吗? GoDaddy 无需等待您运行它。他们可以通过在此处阅读有关内容来了解您将要这样做。屏幕抓取是一种非常糟糕的信息收集方式,如果您要针对 30K 页面运行,您不认为从站点中寻找 API 或数据源会更好吗?
-
@theTinMan 我怀疑他们会扫描 StackOverflow 上的每个问题,以免有人可能会提到某些东西。另外,我不担心他们会因为“不道德”而关闭我的脚本。我担心它可能会消耗引发警报的资源。无论如何,我昨晚运行了它,没有任何问题,所以一切都很好。
-
PS - 没有 API。我正在抓取我大学的课程目录,以便向其他人提供 RESTful API。
标签: php curl screen-scraping shared-hosting