URLからタイトルの説明と画像を抽出するWebクローラーを書いています..正しく保存されているプロジェクトの画像フォルダーに画像を保存したいのですが、画像が完全に読み込まれず、致命的なエラーが表示されます: 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);