发现 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中设置自动切换的更多相关文章

  1. Android 之 PackageManager获取的应用程序信息与AndroidManifest文件中设置的信息不一致问题

    有时我们需要用 PackageManager 来获取应用程序的版本号和版本名称等信息,通过以下代码来获取: PackageManager manager = getPackageManager(); ...

  2. 获取bing图片并自动设置为电脑桌面背景(C++完整开源程序)

    众所周知,bing搜索网站首页每日会更新一张图片,张张漂亮(额,也有一些不合我口味的),特别适合用来做电脑壁纸. 我们想要将bing网站背景图片设置为电脑桌面背景的通常做法是: 上网,搜索bing 找 ...

  3. 【开源程序(C++)】获取bing图片并自动设置为电脑桌面背景

    众所周知,bing搜索网站首页每日会更新一张图片,张张漂亮(额,也有一些不合我口味的),特别适合用来做电脑壁纸. 我们想要将bing网站背景图片设置为电脑桌面背景的通常做法是: 上网,搜索bing 找 ...

  4. 获取bing图片并自动设置为电脑桌面背景(使用 URLDownloadToFile API函数)

    众所周知,bing搜索网站首页每日会更新一张图片,张张漂亮(额,也有一些不合我口味的),特别适合用来做电脑壁纸. 我们想要将bing网站背景图片设置为电脑桌面背景的通常做法是: 上网,搜索bing 找 ...

  5. 获取bing首页的每日一图

    从必应(bing)首页抓取他的每日一图 以前上学时,曾经用python写过一个每天抓取bing每日一图的小工具. 现在想用java来重构一下. 抓取图片的思路 首先获取网页源码 从网页源码中,我们可以 ...

  6. 获取Bing每日壁纸用作首屏大图

    获取Bing每日壁纸用作首屏大图 Bing 搜索每天都会更换一张精美的图片作为壁纸,除了特殊时候不太好看外(比如春节那几天),没多大问题.移动端还有上每日故事,与图片现配.现在我的博客首屏图片就是Bi ...

  7. Android获取ImageView上的图片,和一个有可能遇到的问题!

    1.在获取图片前先调用setDrawingCacheEnabled(true)这个方法: 举例:mImageView.setDrawingCacheEnabled(true); 2.之后可以通过get ...

  8. ios 从网络上获取图片并在UIImageView中显示

    ios 从网络上获取图片   -(UIImage *) getImageFromURL:(NSString *)fileURL { NSLog(@"执行图片下载函数"); UIIm ...

  9. 如何通过图片在 HTTPS 网站中获取 HTTP 接口数据

    <script> (function() { var Decode=function(b){var e;e=[];var a=b.width,c=b.height,d=document.c ...

随机推荐

  1. React News Site 新闻站

    Learn React & Webpack by building the Hacker News front page from https://github.com/theJian/bui ...

  2. Java随机生成18位身份证号

    package com.ihome.data; import java.text.SimpleDateFormat; import java.util.Calendar; import java.ut ...

  3. 【转】Oracle索引的类型

    数据库的应用类型分为 OLTP(OnLine Transaction Processing ,联机事务处理):OLTP是传统关系型数据库的主要应用,其主要面向基本的.日常的事务处理,例如银行交易. O ...

  4. ECF R9(632E) & DP

    Description: 给你$n$个数可以任取$k$个(可重复取),输出所有可能的和. $n \leq 1000,a_i \leq 1000$ Solution: 好神的DP,我们排序后把每个数都减 ...

  5. PLSQL配置新的oracle实例

    在Win环境下的Oracle中,D:\Oracle\product\10.1.0\db_1\NETWORK\ADMIN\tnsnames.ora文件很重要,它作用是:本地命名的配置.本地名可以用简单的 ...

  6. 【Beta】Daily Scrum Meeting第二次

    1.任务进度 学号 已完成 接下去要做 502 系负责人及所负责专业的表 写出PHP测试的demo:将okHttp的请求放在非UI线程中执行 509 PHP更该用户信息:更新系负责人所负责系:删除任务 ...

  7. Centos7 编译安装 Nginx PHP Mariadb Memcached 扩展 ZendOpcache扩展 (实测 笔记 Centos 7.3 + Mariadb 10.1.20 + Nginx 1.10.2 + PHP 7.1.0 + Laravel 5.3 )

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7-x86_64-Minimal-1611.iso 安装步骤: 1.准备 1.0 查看硬 ...

  8. Hadoop_常用存储与压缩格式

    HDFS文件格式 file_format: TEXTFILE 默认格式 RCFILE hive 0.6.0 和以后的版本 ORC hive 0.11.0 和以后的版本 PARQUET hive 0.1 ...

  9. 解决bootstrap模态框内输入框无法获取焦点

    bootstrap 模态框中的input标签在某些情况下会无法获取焦点. 最终解决方法:去除模态框的 tabindex="-1" 属性即可

  10. MyBatis的经典案例

    1.首先我们先了解Mybatis的一些jar包 ---和项目框架 2.接下来就看看mybatis的配置文件(mybatis-config.xml) <?xml version="1.0 ...