【发布时间】:2018-07-14 00:30:22
【问题描述】:
我正在构建一个网络抓取 api,用于从页面中取回所有工作链接。当我尝试使用 res.send - 发送结果 - 这是所有工作链接的简单文本时,我不断收到“错误 [ERR_HTTP_HEADERS_SENT]:无法设置标头后发送到客户端”...我我猜我 res.send 的工作方式有问题......
var express = require('express');
var app = express();
var request = require('request');
var cheerio = require('cheerio');
var url = 'https://www.pardes-hanna-karkur.muni.il/';
app.get('/webscrape', function (req, res,next) {
request(url, function(error, response, body){
if(!error && response.statusCode == 200){
$ = cheerio.load(body);
links = $('a'); //jquery get all hyperlinks
$(links).each(function(i, link){
var linkRecieved = $(link).attr('href');
if (linkRecieved.indexOf('www') > -1){
var outStr='';
request(linkRecieved, function(error, response, body){
if(!error && response.statusCode == 200){
res.send(linkRecieved);
next();
} else {
res.send('false');
next();
}
});
}
});
}
});
})
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
console.log( port)
})
【问题讨论】: