功能

  每天自动从bing首页下载首页图片,再添加该图片文字描述的水印,然后设置到桌面壁纸。

链接分析

  打开bing首页,开chrome调试,捕捉network,再点击上一张,下一张时可以看到一个比较规律的URL,http://cn.bing.com/HPImageArchive.aspx?format=js&idx=1&n=1&nc=1498657985239&pid=hp&video=1,这个url返回一个json数据如下,里面就有首页图片的url

{"images": [{"startdate": "20170624","fullstartdate": "201706241600","enddate": "20170625","url": "/az/hprichbg/rb/SanLorenzo_ZH-CN7625061136_1920x1080.jpg","urlbase": "/az/hprichbg/rb/SanLorenzo_ZH-CN7625061136","copyright": "圣老楞佐圆形堂,意大利曼托瓦 (© geo-select FotoArt)","copyrightlink": "/search?q=%e5%9c%a3%e8%80%81%e6%a5%9e%e4%bd%90%e5%9c%86%e5%bd%a2%e5%a0%82&form=hpcapt&mkt=zh-cn","quiz": "/search?q=Bing+homepage+quiz&filters=WQOskey:%22HPQuiz_20170624_SanLorenzo%22&FORM=HPQUIZ","wp": true,"hsh": "d6370baf98120bf530cea4264b7540b0","drk": 1,"top": 1,"bot": 1,"hs": []}],"tooltips": {"loading": "正在加载...","previous": "上一个图像","next": "下一个图像","walle": "此图片不能下载用作壁纸。","walls": "下载今日美图。仅限用作桌面壁纸。","play": "播放视频","pause": "暂停视频"}
}

简单测试了下这个url,idx表示当前天往前往后的索引,1表示昨天,-1表示明天,-2请求不到数据。n为请求图片的张数,nc为1970到现在的秒数。

添加水印

  bing首页的图片还是比较好看的,但终归是外行看热闹,看不懂是啥,是什么地方。所以琢磨在图片上加个水印,想了下,加水印有两种思路,一种是通过云端API处理图片,一种是本地命令行处理图片。查了下,用imagemagick在linux本地加水印很方便,而且我ubuntu直接有装,那么一条命令就可以添加文字水印了。参照了官方说明文档,使用这条命令添加:

convert 1.jpg -font 文泉驿微米黑 -pointsize 30 -draw "gravity south fill black  text 0,12 '卡拉尼什巨石阵,苏格兰路易斯岛'  fill white  text 1,11 '卡拉尼什巨石阵,苏格兰路易斯岛' " 2.jpg

其中0,12表示水印的位置,12表示距底部的像素。为了能同时应对深色背景和浅色背景,所以同时添加了白色和黑色的水印文字。

注意:
如果报错convert: unable to read font 'Arial'找不到字体,你可以执行如下命令看下有那些字体convert -list font。如果加中文水印,要选用支持中文的字体。

效果图:

定时执行

  添加到crontab即可,为了方便另外写了个脚本控制。为了在开机后能尽快更新壁纸,我把执行周期设置为10分钟,更新成功后添加临时文件做标记,以便今天不再更新。

源码移步github: bing_wallpaper

每天更新bing首页图片为桌面壁纸相关推荐

  1. python3 抓取必应bing首页图片作为桌面背景

    网上找到的在python3下都不能用,于是动手修改了一下,测试可用. Python 版本:3.5.1 系统:win10 x64 需要安装的包: pip install pypiwin32 代码: im ...

  2. windows7 设置png格式图片为桌面壁纸

    windows7 设置png格式图片为桌面壁纸 项目中有一个小需求----自动设置壁纸.按理说,这种小需求理论上都很容易啦,没有必要做笔记了.而在实际开发过程还是遇到了各种问题.当然这是由于windo ...

  3. Java与Python下载Bing首页图片

    Java与Python下载Bing首页图片 一,首先是Java代码 import org.apache.http.HttpEntity; import org.apache.http.client.m ...

  4. Python3抓取Bing每日图片做桌面背景,并设置为开机更新背景

    该程序是我学习Python的第一个小程序,用于熟悉Python语法,其中借鉴了很多其他网友的Code,望谅解. 参考列表 主要参考博客列表如下: LittleBearLi http://blog.cs ...

  5. 用python每日更换“必应图片”为“桌面壁纸”

    不少同学都知道,必应每天都会更新壁纸,都十分漂亮,有时候还十分惊艳,同时还会根据每个地区的特色应用不同的壁纸. 那么,如何让自己的电脑每天同步必应每日图片作为桌面背景呢? 下面用python脚本抓取必 ...

  6. 小玩意--用必应每日图片换桌面壁纸(Python)

    必应 的每日图片还是不错的,换作自己的桌面壁纸挺有意思的. 这种简单的小程序实现网络上还是很多的,但还是想亲手写一写. 把代码分享一下 # 获取必应每日图片 import os import path ...

  7. 用c#每日更换“必应背景图片”为“桌面壁纸”

    在线工具 必应每天都会更换背景图片,都非常漂亮,有的时候还十分惊艳,同时还会根据每个地区的特色不同应用不同的图片. 下面用c#抓取必应每天的背景图片,并实现桌面壁纸的每天自动切换 实现思路 1.通过获 ...

  8. 下载Bing首页图片最简教程

    Bing首页    按下F12或右键选择检查进入Web开发者查看器 点击网络或NetWork 按Ctrl+R刷新 点击Save..弹出图片的界面保存该图片

  9. 用python当壁纸_使用Python脚本将Bing的每日图片作为桌面的教程

    微软最近出了个 必应bing 缤纷桌面,使用下来还是不错,可以每天更换Bing首页的北京作为壁纸,但是该软件有个不好的地方是,安装后桌面上会有一个搜索框出现,很是烦人,而且不能关掉.于是出于技术考虑, ...

最新文章

  1. 十五个步骤收获学习的习惯
  2. Nvidia推出强大的新图形芯片Tesl V100加速进军AI和深度学习的步伐
  3. 关闭体眠可释放系统盘的空间
  4. 在Windows2016中回到DOS时代用tt练习打字
  5. CSS的优先级和继承性
  6. php 主观题判分,司法考试改革后多少分通过,客观题主观题分数怎么算?
  7. Java 实现三次 for 循环计算水仙花数
  8. jquery.dataTable.js 绘制表格使用详解
  9. Java文件类字符串getAbsolutePath()方法(带示例)
  10. LeetCode -- Sort List
  11. mysql dba命令_MySQL DBA命令
  12. 简明Github使用教程(桌面客户端与网页版)
  13. Android TextView drawableLeft 在代码中实现
  14. 计算机网络工程概论论文,网络工程专业导论论文提纲格式模板 网络工程专业导论论文框架怎么写...
  15. win10如何删除计算机用户,在WIN10账户下怎么删除administrator账户
  16. java重构工具_Piranha(陈旧代码自动重构工具)
  17. 我的MATLAB学习之路
  18. 在前端layui项目中使用ztree
  19. 《从一到无穷大:科学中的事实和臆测》小记
  20. 浅谈zto大数据计算与业务系统的融合

热门文章

  1. 向量化计算cell_吴恩达老师课程笔记系列第24节-Octave教程之向量化和作业(6)
  2. python socketserver模块详解_Python: SocketServer模块
  3. 《码出高效 Java开发手册》第八章 单元测试 (未整理)
  4. 文字超出显示....省略显示
  5. iOS开发错误处理技巧,PCH文件的使用,自定义NSNotification消息以及设置监听者(以Core Data处理数据时的错误为例)...
  6. vs2015中安装EntityFramework
  7. js使用showModalDialog,弹出一个自适应大小窗口
  8. XP 装 sql 2008 允许远程连接
  9. 让一个元素水平垂直居中的方法
  10. LeetCode(824)——山羊拉丁文(JavaScript)