每日壁纸 Python 版

sh/bash/dash/ksh/zsh等Shell脚本
回复
afox800
帖子: 200
注册时间: 2009-08-02 7:44
来自: 圣彼得堡

每日壁纸 Python 版

#1

帖子 afox800 » 2013-01-16 1:19

这个是原版 viewtopic.php?f=21&t=398595
我改了个python版。
设置成开机启动,每天换壁纸就这么简单!!!
注释比较齐全。python就是这么简单!!
一共三个网站,nasa,国家地理,Bing必应
可以在附件下载 :em03
nasa 的已经改过了 :em06 sorry!!

[python]
#coding=utf8
#python 2.7

#操作网络需要
import urllib
#正则表达式需要
import re
#调用系统命令需要
import os

#设置壁纸保存目录,/ 结尾
#可以改成你家里的图片目录,像这样 '/home/username/图片/'
#如果你是python小白,只有这里你可以改!!!
save_path='/tmp/'

#打开链接
#打不开链接誓不罢休,wifi比较慢嘛
#当然你也可以用time.sleep(seconds)一会儿!
url='http://www.bing.com'
while True:
try:
html=urllib.urlopen(url).read()
break
except:
continue

#使用正则表达式寻找壁纸地址,将壁纸地址命名为 link, 壁纸名称为 pic
#Bing必应
link_checker=re.compile(r"g_img={url:'(?P<link>[/\w\-]*/(?P<pic>[\w\.\-]*))'")
info=link_checker.search(html).groupdict()
link=url+info['link']

#检测壁纸是否存已经存在,若存在则退出,否则下载
fname=save_path+info['pic']
if os.path.exists(fname):
print 'wallpaper exists!'
exit()

#下载壁纸
picdata=urllib.urlopen(link).read()

#保存壁纸到save_path,save_path咱们在前面定义了
f=file(fname,'w')
f.write(picdata)
f.close()

#设置壁纸
# 适用于gnome 3,也许适用于gnome 2
os.system('gsettings set org.gnome.desktop.background picture-uri "file://'+fname+'"')
#设置壁纸样式
## Possible values: centered, none, scaled, spanned, stretched, wallpaper, zoom
os.system('gsettings set org.gnome.desktop.background picture-options wallpaper')

[/python]
附件
wallpaper_nasa.py
NASA 美国航天局的每日星空 (已改)
(1.1 KiB) 已下载 92 次
wallpaper_bing.py
Bing必应的背景图片
(1.42 KiB) 已下载 85 次
wallpaper.py
国家地理的每日一图
(1.31 KiB) 已下载 85 次
上次由 afox800 在 2013-01-16 20:16,总共编辑 1 次。
头像
tailsgao
帖子: 209
注册时间: 2010-07-09 7:37

Re: 每日壁纸 Python 版

#2

帖子 tailsgao » 2013-01-16 7:27

o_o,今天在NASA下载了个蝠鲼
头像
qq420100523
帖子: 1684
注册时间: 2009-07-31 18:56
系统: windows、ubuntu
来自: 广东阳江

Re: 每日壁纸 Python 版

#3

帖子 qq420100523 » 2013-01-16 10:24

NASA 美国航天局的每日星空的地址错了吧。
afox800
帖子: 200
注册时间: 2009-08-02 7:44
来自: 圣彼得堡

Re: 每日壁纸 Python 版

#4

帖子 afox800 » 2013-01-16 20:17

qq420100523 写了:NASA 美国航天局的每日星空的地址错了吧。
sorry!已经修改了 :em03
头像
free4537
帖子: 53
注册时间: 2011-09-05 20:53

Re: 每日壁纸 Python 版

#5

帖子 free4537 » 2013-04-08 15:01

用的 Python-2.7, 第一个下载了一张莫名其妙的图片, 第二个和第三个都是错的.

错误信息:
Bing 版错误信息:
line 30, in <module>
info=link_checker.search(html).groupdict()
AttributeError: 'NoneType' object has no attribute 'groupdict'

国家地理版错误信息:
line 39, in <module>
f=file(fname,'w')
IOError: [Errno 2] No such file or directory: '/home/jjdl/wallpaper/April_8_2013.jpg'
头像
free4537
帖子: 53
注册时间: 2011-09-05 20:53

Re: 每日壁纸 Python 版

#6

帖子 free4537 » 2013-04-08 15:19

free4537 写了:用的 Python-2.7, 第一个下载了一张莫名其妙的图片, 第二个和第三个都是错的.

错误信息:
Bing 版错误信息:
line 30, in <module>
info=link_checker.search(html).groupdict()
AttributeError: 'NoneType' object has no attribute 'groupdict'

国家地理版错误信息:
line 39, in <module>
f=file(fname,'w')
IOError: [Errno 2] No such file or directory: '/home/jjdl/wallpaper/April_8_2013.jpg'
Ubuntu 12.04 LTS, x64.
回复