National Geographic 的网站上有一个 Photo of the Day (POTD)栏目:
http://lava.nationalgeographic.com/pod/ (当天的墙纸)
http://lava.nationalgeographic.com/cgi-bin/pod/archive.cgi (以前的墙纸Archive)
每天会提供一张精美照片的墙纸下载(而且有800x600和1024x768两种尺寸大小选择),非常喜欢,因此每天我会:
1)打开IE;
2)从收藏夹中选取POTD链接进行浏览;
3)点击想下载的图片链接,进入下载页面;
4)从下载页面右键将图片另存到自己的电脑中;
5)打开文件管理器,到达保存图片的位置,进行查看。
在分析了这个栏目页面的源文件之后,发现图片链接的构成方式有规律可循,完全可以写个程序,自动帮我抓取我想要的1024x768尺寸的墙纸图片。于是,一段Python小程序和一个批处理就省掉了上述访问网站那些麻烦。
现在每天我只需要:
1)双击桌面上批处理文件的快捷方式,运行;
2)文件管理器自动被批处理打开到墙纸图片被保存的位置,直接进行查看。
省心!
---- GetPOTDwallpaper.py ---- BEGIN ----
from urllib import urlopen
from time import localtime
import sys
# 取得输出路径
outputpath = sys.argv[1]
# 取得链接中需要的日期信息
# 我们需要两位数字的年份, 月份和日号
# 使用time.localtime()取得当天的日期信息
year = str(localtime().tm_year)
year = year[2:]
month = localtime().tm_mon
if month < 10 : month = '0' + str(month)
else: month = str(month)
day = localtime().tm_mday
if day < 10 : day = '0' + str(day)
else: day = str(day)
# 拼合出包含墙纸图片的页面链接
POTDurl = "http://lava.nationalgeographic.com/cgi-bin/pod/wallpaper.cgi?day=" + day + "&month=" + month + "&year=" + year
# 使用urllib.urlopen()读取页面的HTML源代码
doc = urlopen(POTDurl).read()
---- GetPOTDwallpaper.py ---- E N D ----
---- GetPOTDwallpaper.bat ---- BEGIN ----
REM 用参数指定保存图片的位置
python GetPOTDwallpaper.py I:/Pic/NGM-WALLPAPERS/NGM-POD-WALLPAPER/
REM 启动文件管理器并且打开到保存墙纸图片的位置方便查看
explorer I:/Pic/NGM-WALLPAPERS/NGM-POD-WALLPAPER/
---- GetPOTDwallpaper.bat ---- E N D ----