0
我正在用Javascript(Express)为个人目的构建网站刮板。从循环中的偶数个对象创建数组
该脚本的目标是从外部来源刮取一些简单的文本数据,最终输出被刮取的数据为JSON
对象。 但是,因为总会有偶数量的对象,所以我想将它们作为成对添加到数组中,这是我需要来自你们的一些指导的部分。
输出的电流只是一个普通的JSON对象/基于刮对象(通常在8-16)的量对象:
{
name: "John Doe",
email: "[email protected],
status: "active"
},
{
name: "Jane Doe",
email: "[email protected],
status: "inactive"
},
{
name: "Johnny Walker",
email: "[email protected]",
status: "active"
},
{
name: "Jimmy Glenfiddich",
email: "[email protected]
status: "active"
}
和预期输出会是这个样子:
{
"pair-number": 1,
"pair:" [
{
name: "John Doe",
email: "[email protected],
status: "active"
},
{
name: "Jane Doe",
email: "[email protected],
status: "inactive"
},
]
},
{
"pair-number": 2,
"pair:" [
{
name: "Johnny Walker",
email: "[email protected]",
status: "active"
},
{
name: "Jimmy Glenfiddich",
email: "[email protected]
status: "active"
}
]
}
下面是使用MO我server.js
var express = require('express');
var request = require('request');
var cheerio = require('cheerio');
var app = express();
var url = 'http://testurl.com;
var name, email, status;
app.get('/scrape', function(req, res) {
request(url, function (error, response, html) {
if (!error && response.statusCode == 200) {
var $ = cheerio.load(html);
data = {"name": name, "email": email, "status": status };
$('.scrape-class').filter(function() {
var that = $(this);
name = that.find('h5').text();
email = that.find('.email').text();
status = that.find('dl').children().first().text();
data.name = name;
data.email = email;
data.status = status;
console.log(data);
});
}
});
});
app.listen(80, function() {
console.log('Example app listening on port 80!')
})