【发布时间】:2018-01-29 16:12:30
【问题描述】:
我正在学习 NodeJS,并试图从一个粉丝 wikia 中获取字符名称并将它们存储在 json 文件中。我有一个字符名称数组,我想遍历它们并从数组中的每个 url 中抓取每个字符名称。我遇到的问题是:
throw new Error('Can\'t set headers after they are sent.');
这是我目前的源代码:
var express = require('express');
var fs = require('fs');
var request = require('request');
var cheerio = require('cheerio');
var app = express();
app.get('/', function(req, res){
var bosses = ["Boss1","Boss2"];
for (boss in bosses) {
url = 'http://wikiasiteexample.com/' + bosses[boss];
request(url, function (error, response, html) {
if (!error) {
var $ = cheerio.load(html);
var title;
var json = { title: "" };
$('.page-header__title').filter(function () {
var data = $(this);
title = data.text();
json.title = title;
})
}
fs.writeFile('output.json', JSON.stringify(json, null, 4), {'flag':'a'}, function(err) {
if (err) {
return console.error(err);
}
});
res.send('Check your console!')
})
}
})
app.listen('8081')
console.log('Running on port 8081');
exports = module.exports = app;
【问题讨论】:
标签: javascript json node.js