我以前在 Node.js 中编写过应用程序,特别是数据抓取工具。这些类型的应用程序没有 Web 前端,而只是与 cron 作业定时的进程,以异步发出许多可能很复杂的 HTTP GET 请求来拉取网页,然后从结果中抓取和存储数据。
我可能编写的函数示例如下:
// 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 做同样的事情,但我在文档中看到的所有内容都是指 Tornado 充当 Web 服务器,这不是我想要的。有人知道怎么做吗?