获取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 ...
随机推荐
- DelphiXE10.1项目中增加预编译的方法
操作: 菜单选择Proceject->Options->Delphi Compilerz在Conditional Defines(第一行)中添加预编译标识.例:VCL代码:uses{$IF ...
- Jekyll 安装权限问题 ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/jekyll
OS X El Capitan 新特性(System Integrity Protection or SIP)中加强了权限,但是可以对这里进行操作 /usr/local/bin 可以尝试使用以下指令进 ...
- CompiledEffect Direct3D9 Sample fxc.exe
- 【原】iOS学习之图片拉伸处理(类似qq的气泡)
原理是拉伸里面的内容,将边保护起来 方法1: ①[image resizableImageWithCapInsets:UIEdgeInsetsMake(, , , )]; ②[image resiza ...
- bzoj1009矩阵快速面+kmp
其实kmp真的很次要,求长度为20的kmp感觉真的有点杀鸡用牛刀 这题思路相当明确:一看题就是数位dp,一看n的大小就是矩阵 矩阵的构造用m*m比较方便,本来想写1*m的矩阵乘m*m的,但是感觉想起来 ...
- 不使用return false阻止event默认行为
当我们点击一个a标签时,如果这个标签的href指向了另一个地址,那么浏览器会默认跳转到此地址.在页面中,有时我们需要触发点击事件,但是又不想触发默认行为,就需要阻止event的默认行为了. 常规做法 ...
- c#文本转语音以及语音阅读小实例
c#实现语音阅读以及文本转语音文件是基于c#的一个类库(SpeechSynthesizer )实现的,使用该类必须要添加引用using System.Speech.Synthesis;直接是无法添加引 ...
- elasticsearch完全匹配
$params = array( "body" => array( "query" => array( "filtered" = ...
- (转)为什么需要正则表达式 by 王珢
为什么需要正则表达式 by 王垠 学习Unix最开头,大家都学过正则表达式(regexp).可是有没有人考虑过我们为什么需要正则表达式? 正则表达式本来的初衷是用来从无结构的字符串中提取信息,殊不知这 ...
- 深入super,看Python如何解决钻石继承难题 【转】
原文地址 http://www.cnblogs.com/testview/p/4651198.html 1. Python的继承以及调用父类成员 python子类调用父类成员有2种方法,分别是普通 ...