nodejs 下载必应中国的壁纸

。_饼干妹妹 提交于 2020-03-01 09:38:19


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#程序不写了 :)

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!