考虑到我正在运行免费的启动版本,在GAE上运行网络爬虫和我的应用程序是不可能的吗?
发布于 2009-03-25 12:26:36
虽然Google还没有公开调度、队列和后台任务API,但您只能将任何处理作为对外部HTTP请求的应答。您需要一些心跳服务来一次处理crawler队列中的一个项目(不会达到GAE限制)。
要从GAE中进行爬行,您必须将应用程序拆分为queue (将队列数据存储在Datastore中)、对外部HTTP心跳做出反应的队列处理器和实际的爬行逻辑。
您必须手动监视配额使用情况,并在有空闲配额时启动心跳,如果配额用完则停止。
当Google引入API时,我在一开始就告诉过您,您必须重写通过Google API更有效地实现的部分。
更新:谷歌在一段时间前引入了任务队列API。参见task queue docs for python和java。
发布于 2009-03-24 12:17:12
App Engine代码仅在响应HTTP请求时运行,因此您不能在后台运行持久爬行器。随着计划任务的即将发布,您可以编写一个使用该功能的爬虫程序,但这并不理想。
发布于 2009-03-24 10:14:43
我想你可以(也就是说,不是不可能)运行它,但是它会很慢,而且你很快就会遇到limits。由于CPU配额将在5月底进一步减少,我建议您不要这么做。
https://stackoverflow.com/questions/676460
复制相似问题