Javascript “我的图像”无法正确加载到“我的图像”文件夹中
我正在编写一个网络爬虫程序,它将从url中提取标题描述和图像。我想将图像保存在项目的images文件夹中,该文件夹已正确保存,但图像未完全加载。它显示了一个致命错误:读取PNG图像文件时出现致命错误:不是PNG文件…我设置了一个缓冲区来存储将扩展其字节的图像但仍然是相同的错误。所有的图像都是1.7KB,这意味着我的图像无法正确加载 任何帮助都将是可观的: 下面是一个代码:Javascript “我的图像”无法正确加载到“我的图像”文件夹中,javascript,jquery,node.js,Javascript,Jquery,Node.js,我正在编写一个网络爬虫程序,它将从url中提取标题描述和图像。我想将图像保存在项目的images文件夹中,该文件夹已正确保存,但图像未完全加载。它显示了一个致命错误:读取PNG图像文件时出现致命错误:不是PNG文件…我设置了一个缓冲区来存储将扩展其字节的图像但仍然是相同的错误。所有的图像都是1.7KB,这意味着我的图像无法正确加载 任何帮助都将是可观的: 下面是一个代码: var $ = cheerio.load(html); var title = $('head titl
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);
很抱歉,我又问了一个问题,但我不熟悉node.js。什么是
var$=cheerio.load(html)代码>做什么?谁或什么是cheerio?
?它是一个npm包,将加载html页面,然后从中提取数据…您是否尝试查看保存的“图像”文件?如果您将扩展名更改为.txt
,它们很可能包含一些文本消息,您可以在文本编辑器中打开这些消息。这条文本消息可能会给您一些关于为什么找不到映像本身的线索。我想您需要var request=http.get(temp,function(res){..})。您当前正在尝试将数组传递给http.get,而不是通过将响应直接传递到fs流中的urlet节点来完成此工作:http.get(temp,function(res)res.pipe(fs.createWriteStream(“myimage.png”);})代码>