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#程序不写了 :)
时间: 2024-10-06 08:25:08