我希望从特定网址中抓取数据并更新MongoDB中的现有数据。我也在使用CRON(不确定这是否对代码有任何影响)。以下是代码:
module.exports = new CronJob('0 */59 * * * *', function() {
nightmare
.goto('http://www.xyzxyzxyz.com/')
.wait(2000)
.evaluate(function() {
var itemS = [];
var itemList = document.querySelectorAll('.item-list');
for(var i = 0; i < item-list.length; i++) {
var item = {};
item['name'] = itemList[i].querySelector('.item-title').innerHTML;
item['image'] = itemList[i].querySelector('.item-image').src;
itemS.push(item);
}
return itemS;
})
//.end() -- removed because CRON does not restart
.then(function(result) {
var id = mongoose.Types.ObjectId("589b8d8fe860591071d4e2c6");
mongooseModel.findByIdAndUpdate(id, {$set: {key: result}}, function(err, res) {
if(err) {
console.log(err);
} else {
console.log('success!');
}
});
console.log(result);
})
.catch(function(error) {
console.error('Search failed:', error);
});
},null,true);
结果是console.log(ged)(console.log(result))但是console.log(“success!”)回调没有执行。
另外,无关,当我从某些网站提取图片时,我正在获取数据网址而不是img网址。我尝试将数据URL直接放入标签中,但图像显示为空白 - 我也尝试使用在线资源解码图像,但图像仍然无法渲染。任何可能的解决方案?
非常感谢,提前!