我正在编写一个网络爬虫,它将从 url 中提取标题描述和图像..我想将图像保存在我的项目中的图像文件夹中,该文件夹已正确保存但图像未完全加载它显示一个致命错误:读取 PNG 图像文件的致命错误:不是 png 文件...我设置了一个缓冲区来存储将扩展其字节但仍然相同的错误的图像。所有图像都是 1.7 kb 这没有发生意味着我的图像将无法正确加载任何帮助将是可观的:这是一个代码:
var $ = cheerio.load(html);
var title = $('head title').text();
var keywords = $('head meta[name=keywords]').attr('content');
var desc = $('head meta[name=description]').attr('content');
var links = $('a');
var imgArray = [];
$('img').each(function(){
var temp = $(this).attr("src");
imgArray.push(temp);
var downloadImage = function (temp, fileName) {
http.get(temp, function (res) {
var imagedata = ''
res.setEncoding('binary');
res.on('data', function(chunk){
imagedata += chunk;
});
res.on('end', function(){
var imgArr = temp.split("/");
var Name = util.id();
fs.writeFile(__dirname + '/img/' + Name + ".png" , imagedata, 'binary', function(err)
if (err) throw err;
console.log('image saved')
});
});
});
};
downloadImage(temp,'test.png');
console.log("image is " + imgArray);
});
console.log('Crawling "%s" | %s',title,this.url);