bing 壁纸很好看,每天下载下来当桌面还是不错的,其实抓取图片方法很简单,但是图片url还是得下一番功夫去查的。花点时间,还是找到了必应中国的高清壁纸(1980*1080)地址,下面是nodejs抓取图片的代码:
/*
下载bing中国壁纸到本目录下
分辨率为1980*1080,可设置
*/
var http = require('http');
var fs = require('fs');
var options = {
hostname: 'cn.bing.com',
port: 80,
path: '/HPImageArchive.aspx?idx=0&n=1',
method: 'GET'
};
var req = http.request(options, function(res) {
var reg = new RegExp("<url>/az/hprichbg/rb/(.*)_1366x768.jpg</url>");
var body = '';
res.on('data', function(chunk) {
body += chunk;
}).on('end', function() {
reg.test(body);
var img = RegExp.$1;
console.log(img);
writestream = fs.createWriteStream(img + "_1920x1080.jpg");
http.get('http://s.cn.bing.net/az/hprichbg/rb/' + img + "_1920x1080.jpg", function(res) {
res.pipe(writestream);
})
writestream.on('finish', function() {
console.log('done');
});
})
res.on('error', function(e) {
console.log(e.message);
})
});
req.end();
(⊙o⊙)…,代码好少。不过拿到壁纸就行了。
接下来,还可以做一些事情:
对于win用户,可以用c#写个程序,将该壁纸设置为系统桌面,调用windows api接口即可,然后写一个计划任务,每天定时执行bat脚本,脚本做2件事,1:node 运行上述脚本下载壁纸,2,调用c#程序设置壁纸。
本人不在win下工作了,所以c#程序不写了 :)
来源:oschina
链接:https://my.oschina.net/u/867090/blog/500234