获取bing.com的图片并在gnome3中设置自动切换
发现 bing.com 上的图片很好看,因此打算每天把 bing.com 的图片下载下来,用作桌面。
需要做的是两个部分,爬取图片到目录和设置目录图片为桌面背景并可以自动切换。
第一部分,下载图片,使用 requests 库,配合一行正则表达式即可。
具体代码在:
https://github.com/telnetning/script_tools/blob/master/getBingPic.py
这里把下载路径设成了 /home/telnetning/Pictures/wallpaperFromBing
bing.com 的图片是每日更新,因此使用 crontab 设置一个定时任务:
1 1 * * * /usr/bin/python2 /home/telnetning/crontabFold/getBingPic.py
即每天一点一分运行脚本一次。
设置 crontab 时,注意一下脚本中的路径变量等,cron 自动引入的环境变量很少。
第二部分,设置 wallpaperFromBing 为背景图片目录。
在很多桌面中,可以直接设置,但是 gnome 太 hack 了,所以,摸索了一下,在 gnome3 中,所有的桌面环境选项几乎都是用 gsettings 来设置的。并且 gnome3 中不再提供在 xml 文件中写配置设置大量内容,所有的选项都是用 gsettings 设置,写成二进制文件形式保存。
自动切换这个功能,在 gnome 升级到 gnome3 的时候,似乎丢掉了。
没办法,自己写一个选取图片定时切换。
注意的是,下面命令可以用来切换桌面背景:
gsettings set org.gnome.desktop.background picture-uri PIC_URL
因此,用 python 选取图片,然后用 crontab 定时切换:
import os, random
pic = random.choice(os.listdir('/home/telnetning/Pictures/wallpaperFromBing'))
changeCom = "gsettings set org.gnome.desktop.background picture-uri file:///home/telnetning/Pictures/wallpaperFromBii
ng/" + pic
os.system(changeCom)
设置15分钟切换一次:
*/15 * * * * /usr/bin/python2 /home/telnetning/crontabFold/changeBackground.py
获取bing.com的图片并在gnome3中设置自动切换的更多相关文章
- Android 之 PackageManager获取的应用程序信息与AndroidManifest文件中设置的信息不一致问题
有时我们需要用 PackageManager 来获取应用程序的版本号和版本名称等信息,通过以下代码来获取: PackageManager manager = getPackageManager(); ...
- 获取bing图片并自动设置为电脑桌面背景(C++完整开源程序)
众所周知,bing搜索网站首页每日会更新一张图片,张张漂亮(额,也有一些不合我口味的),特别适合用来做电脑壁纸. 我们想要将bing网站背景图片设置为电脑桌面背景的通常做法是: 上网,搜索bing 找 ...
- 【开源程序(C++)】获取bing图片并自动设置为电脑桌面背景
众所周知,bing搜索网站首页每日会更新一张图片,张张漂亮(额,也有一些不合我口味的),特别适合用来做电脑壁纸. 我们想要将bing网站背景图片设置为电脑桌面背景的通常做法是: 上网,搜索bing 找 ...
- 获取bing图片并自动设置为电脑桌面背景(使用 URLDownloadToFile API函数)
众所周知,bing搜索网站首页每日会更新一张图片,张张漂亮(额,也有一些不合我口味的),特别适合用来做电脑壁纸. 我们想要将bing网站背景图片设置为电脑桌面背景的通常做法是: 上网,搜索bing 找 ...
- 获取bing首页的每日一图
从必应(bing)首页抓取他的每日一图 以前上学时,曾经用python写过一个每天抓取bing每日一图的小工具. 现在想用java来重构一下. 抓取图片的思路 首先获取网页源码 从网页源码中,我们可以 ...
- 获取Bing每日壁纸用作首屏大图
获取Bing每日壁纸用作首屏大图 Bing 搜索每天都会更换一张精美的图片作为壁纸,除了特殊时候不太好看外(比如春节那几天),没多大问题.移动端还有上每日故事,与图片现配.现在我的博客首屏图片就是Bi ...
- Android获取ImageView上的图片,和一个有可能遇到的问题!
1.在获取图片前先调用setDrawingCacheEnabled(true)这个方法: 举例:mImageView.setDrawingCacheEnabled(true); 2.之后可以通过get ...
- ios 从网络上获取图片并在UIImageView中显示
ios 从网络上获取图片 -(UIImage *) getImageFromURL:(NSString *)fileURL { NSLog(@"执行图片下载函数"); UIIm ...
- 如何通过图片在 HTTPS 网站中获取 HTTP 接口数据
<script> (function() { var Decode=function(b){var e;e=[];var a=b.width,c=b.height,d=document.c ...
随机推荐
- MySQL学习笔记01_数据库基础知识
01_1 mysql数据库启动与停止 以<管理员权限>启动cmd: 输入net stop mysql停止mysql服务: 输入net start mysql启动mysql服务: 输入mys ...
- SOAPUI使用教程-了解REST参数
1.2.资源参数 在这一节中,我们更为详细的看看提供给你不同类型的REST参数.有五种类型的可用参数:QUERY, HEADER, TEMPLATE, MATRIX and PLAIN. 所有参数可以 ...
- CentOS 7 学习笔记(一)时间管理
1 获取当前时间 [root@limt01 ~]# date 2015年 05月 22日 星期五 01:30:50 CST 2 获取当前日期 [root@limt01 ~]# date "+ ...
- 使用js_md5加密密码
为什么在传输过程中要用md5对密码进行加密? 众所周知,我们在表单中的输入框输入了密码后,如果采用ajax的post或者get方式提交数据,在浏览器的newwork中就可以看到我们向后台传输的内容,其 ...
- 《JavaScript高级程序设计(第3版)》阅读总结记录第一章之JavaScript简介
前言: 为什么会想到把<JavaScript 高级程序设计(第 3 版)>总结记录呢,之前写过一篇博客,研究的轮播效果,后来又去看了<JavaScript 高级程序设计(第3版)&g ...
- JavaMail和James的秘密花园
JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口.它是Sun发布的用来处理email的API.它可以方便地执行一些常用的邮件传输.我们可以基于JavaMail开发出类似于Micros ...
- 【hihoCoder】1082: 然而沼跃鱼早就看穿了一切
题目:http://hihocoder.com/problemset/problem/1082 输入一个字符串,将其中特定的单词替换成另一个单词 代码注意点: 1. getline(istre ...
- 删除mysql binlog日志
查看:mysql> show binary logs; 删除 mysql-bin.000200 之前binlog日志:mysql> purge binary logs to 'mysql- ...
- lua中基类和“继承机制”
基类:基类定义了所有对于派生类来说普通的属性和方法,派生类从基类继承所需的属性和方法,且在派生类中增加新的属性和方法. 继承:继承是C++语言的一种重要机制,它允许在已定义的类的基础上产生新类. lu ...
- listview嵌套gridview,并实现grid元素部分显示以及点击展开与折叠
原文链接:http://blog.csdn.net/duguju/article/details/49538341 有时我们需要用GridView显示目录列表,有时甚至是二级的,即listview每一 ...