2015-02-09 51 views
1

我想抓取一个包含位于url http://my.aup.edu/files/pictures/picture-35933.jpg处的图片的大文件夹的网站,该网址使用带有cheerio和请求的nodejs。从页面中提取一个图像看起来是这样的刮去服务器上的一系列网址图片


var request = require("request"), 
 
    cheerio = require("cheerio"), 
 
    urls = []; 
 
request('', function(err, resp, body){ 
 
    if (!err && resp.statusCode == 200) { 
 
     var $ = cheerio.load(body); 
 
     $('body.img').each(function(){ 
 
      var url = $(this).attr("src"); 
 
      urls.push(url); 
 
     
 
     }); 
 
     
 
     console.log(urls) 
 
    } 
 
    
 
});

这个程序完成登录网址到控制台,但它不会保存的图片。然而,该网站上的文件扩展名有点奇怪,因为即使链接是http://my.aup.edu/files/pictures/picture-35933.jpg并非所有扩展1-99999都有图像..有些只是重定向到不同的页面。我可以使用带有math.random()的if语句来检查它是否包含img,然后下载它。请让我知道这是否可能。谢谢!

回答

0

如果你执行一个http HEAD请求而不是http GET,那么你可以看看内容类型,并且(希望)找出你是否有图像。