正好今天没课,于是闲不下来,做了两个小工具。
这两个小脚本都不难,所以很容易上手。
这两个小工具的实现,离不开下面的这两个接口,分别是:
点击上面的链接就可以进入接口详情界面了,文档也很详细,就不在过多叙述了。
由于需要访问网络并且操作系统壁纸,所以需要使用下面的库:
最后做成的效果就是可以搜索诗词名称,作者名称的古诗词作品,并显示到终端中。方便学习和使用。
# coding: utf-8
import requests
import json
def getData(url, title=None, author=None, years=''):
headers = {
'apikey': '56eab527a0facb6670b552fd'
}
data = {
'title': title,
'author': author,
'year': years
}
rawdata = requests.post(url, data=data, headers=headers)
result = json.loads(rawdata.text.encode('utf-8'))
return result
def showPoems(data):
query_result = data['msg']
query_size = data['count']
query_result = data['result']
for index in range(len(query_result)):
item = query_result[index]
print_length = len(item['infoText']) if len(item['infoText']) < 64 else 64
print '-'*(print_length), 'BEGIN %d'%(index+1), '-'*(print_length)
print item['title'], item['years'], item['author']
print item['infoText']
print '\n'
print '-'*28, 'END', '-'*28
if __name__ == '__main__':
print "作者名称author, 诗词名称title 二选一, years为可选项,如唐朝,宋朝等".decode('utf-8').encode('gbk')
url = 'http://api.getlove.cn/api/poetry'
title = raw_input("Poem title: ").decode('gbk')
author = raw_input('Poem author: ').decode('gbk')
years = raw_input('Poem years: ').decode('gbk')
showPoems(getData(url, title=title, author=author, years=years))
原理:
在使用win32con.SPI_SETDESKWALLPAPER
设置Wallpaper时,其第二个参数为图片路径,图片必须是BMP格式。如下:
win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER, imagepath, 1+2)
否则将报错如下:
pywintypes.error: (0, 'SystemParametersInfo', 'No error message is available')
win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER, tmppath, 0)
回顾一下,本次实验内容。复习了requests和win32api库的使用。
美中不足的是脚本仍然不够灵活,拓展性也不够强,
每日古诗词那个在终端中显示的界面效果不够良好,太粗糙。
每日桌面那个还可以更加人性化,比如做成定时更换壁纸等等。