网络抓取工具和Google App Engine托管应用程序

时间:2009-03-24 07:44:38

标签: python google-app-engine web-crawler

考虑到我正在运行免费启动版本,是否无法在我的应用程序旁边运行GA爬网程序?

4 个答案:

答案 0 :(得分:3)

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

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

您需要手动查看配额使用情况,并在有备用配额时启动心跳,并在用完时停止。

当Google推出我刚开始讲的API时,您必须重写通过Google API更有效实施的部分。

更新:Google不久前推出了Task Queue API。请参阅task queue docs for pythonjava

答案 1 :(得分:1)

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

答案 2 :(得分:0)

我想你可以(也就是它不可能)运行它,但它会很慢,你会很快遇到limits。由于CPU配额将在5月底进一步降低,我建议不要这样做。

答案 3 :(得分:0)

这是可能的。但就像Arachnid所写的那样,这并不是真正的应用程序。如果你设法让它工作,我会怀疑你会留在免费帐户的qotas。