|
var request = require('request').defaults({ |
|
encoding: null, |
|
method: 'GET', |
|
headers: { |
|
'User-Agent': 'Mozilla / 5.0(Windows NT 6.1; rv: 35.0) Gecko / 20100101 Firefox / 35.0' |
|
} |
|
}); |
|
var cheerio = require('cheerio'); |
|
var process = require('child_process'); |
|
|
|
function getImgLink(link, imgs, cb) { |
|
//第一次呼叫 |
|
if (arguments.length < 3) { |
|
cb = imgs; |
|
imgs = []; |
|
} |
|
|
|
request({ |
|
url: link |
|
}, function(error, res, body) { |
|
if (error) { |
|
console.log(error); |
|
} else { |
|
var $ = cheerio.load(body); |
|
//console.log('第%s頁', $('.page font').html()); |
|
//console.log('本頁有%s張照片', $('.photo_cover').length); |
|
var imgTiles = $('.photo_info_title a'); |
|
$('.photo_item .photo_cover').each(function(i, elem) { |
|
var elem = $(elem); |
|
var img = { |
|
link: /(\d*)_c/.exec(elem.attr('src'))[1], |
|
title: $(imgTiles[i]).text() |
|
} |
|
imgs.push(img); |
|
}); |
|
|
|
var nextPage = $('#nav-next').attr('href'); |
|
if (!nextPage) { |
|
return cb(null, imgs); |
|
} else { |
|
//console.log('有下一頁:%s', $('#nav-next').attr('href')); |
|
//console.log('===Next Page==='); |
|
getImgLink(nextPage, imgs, cb); |
|
return; |
|
} |
|
|
|
return cb(null, imgs); |
|
} |
|
}); |
|
} |
|
|
|
getImgLink('http://photo.xuite.net/ilovebmilk/3497656', function(err, imgs) { |
|
if (err) { |
|
console.log(err); |
|
} |
|
for (var i = 0; i < imgs.length; i++) { |
|
//console.log(imgs[i].title); |
|
//console.log('http://o.0.photo.xuite.net/0/3/9/d/ilovebmilk/3543468/' + imgs[i].link + '.jpg'); |
|
var filePath = 'C:/ilovebmilk/陸/' + imgs[i].title; |
|
var link = 'http://o.0.photo.xuite.net/0/3/9/d/ilovebmilk/3497656/' + imgs[i].link + '.jpg'; |
|
//需設定referer |
|
process.exec('C:/wget.exe -O "' + filePath + '" ' + link, function(error, stdout, stderr) { |
|
if (error) throw error; |
|
}); |
|
} |
|
}); |