4

考虑到我正在运行免费的启动版本,是否不可能在 GAE 上与我的应用程序一起运行网络爬虫?

4

4 回答 4

3

虽然 Google 没有公开调度、队列和后台任务 API,但您只能将任何处理作为对外部 HTTP 请求的响应。您需要一些心跳服务来一次处理爬虫队列中的一项(不达到 GAE 限制)。

要从 GAE 进行爬网,您必须将应用程序拆分为队列(将队列数据存储在 Datastore 中)、将对外部 HTTP 心跳做出反应的队列处理器和您的实际爬网逻辑。

您必须手动查看您的配额使用情况并在有空闲配额时启动心跳,如果用完则停止。

当 Google 引入我一开始就告诉过的 API 时,您必须重写通过 Google API 更有效地实现的部分。

更新:谷歌前段时间引入了任务队列 API。请参阅python和java的任务队列文档

于 2009-03-25T12:26:35.553 回答
1

App Engine 代码仅在响应 HTTP 请求时运行,因此您无法在后台运行持久爬虫。随着计划任务的即将发布,您可以编写一个使用该功能的爬虫,但这并不理想。

于 2009-03-24T12:17:12.090 回答
0

我想您可以(即,并非不可能)运行它,但它会很慢,而且您很快就会遇到限制。由于 CPU 配额将在 5 月底进一步降低,我建议不要这样做。

于 2009-03-24T10:14:42.603 回答
0

这是可能的。但这并不是 Arachnid 所写的真正的 appengine 应用程序。如果您设法使其正常工作,我怀疑您是否会留在免费帐户的配额中。

于 2009-03-24T13:11:35.643 回答