1

我正在编写一个网络爬虫,它将从 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);
4

0 回答 0