我以前在Node.js中编写过应用程序,特别是数据删除器。这些类型的应用程序没有Web前端,但仅仅是使用cron作业进行定时处理,以异步地创建大量可能复杂的HTTP GET请求来拉取网页,然后从结果中抓取并存储数据。在Tornado中启动异步,类Node.js的HTTP请求
一个功能我可以写会是这样的一个样本:
// Node.js
var request = require("request");
function scrapeEverything() {
var listOfIds = [23423, 52356, 63462, 34673, 67436];
for (var i = 0; i < listOfIds.length; i++) {
request({uri: "http://mydatasite.com/?data_id = " + listOfIds[i]},
function(err, response, body) {
var jsonobj = JSON.parse(body);
storeMyData(jsonobj);
});
}
}
此功能遍历的ID,使一群异步GET请求,从它然后存储数据。
我现在正在Python中编写一个刮板,并尝试使用Tornado做同样的事情,但是我在文档中看到的所有内容都指向作为Web服务器的Tornado,这不是我正在寻找的东西。有人知道怎么做吗?
对于任何人谁碰到这个问题来了以后,我结束了使用'Twisted'代替,(http://twistedmatrix.com/trac/),这是Python程序一个伟大的异步模式,尽管它有一条学习曲线,但我能够做到这一点,而不必为解决Web服务器问题而工作。 – jdotjdot 2012-10-01 04:14:07