每日一首古诗, 每日一个桌面壁纸

简介: 依赖两个接口第三方库每日诗词代码效果图gif每日桌面代码效果图gif总结正好今天没课,于是闲不下来,做了两个小工具。

正好今天没课,于是闲不下来,做了两个小工具。

  • 每日古诗词
  • 每日壁纸

这两个小脚本都不难,所以很容易上手。


依赖

两个接口

这两个小工具的实现,离不开下面的这两个接口,分别是:

点击上面的链接就可以进入接口详情界面了,文档也很详细,就不在过多叙述了。

第三方库

由于需要访问网络并且操作系统壁纸,所以需要使用下面的库:

  • requests: 用于网络请求,获取结果
  • json: 用于处理返回的JSON数据
  • win32api, win32gui, win32con: 操作系统壁纸

每日诗词

最后做成的效果就是可以搜索诗词名称,作者名称的古诗词作品,并显示到终端中。方便学习和使用。

代码

# 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))

效果图(gif)

  • 按古诗词标题查找

title

  • 按古诗词作者查找

author

每日桌面

代码

原理:
在使用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)

效果图(gif)

更换背景图片

总结

回顾一下,本次实验内容。复习了requests和win32api库的使用。

美中不足的是脚本仍然不够灵活,拓展性也不够强,

每日古诗词那个在终端中显示的界面效果不够良好,太粗糙。

每日桌面那个还可以更加人性化,比如做成定时更换壁纸等等。

目录
相关文章
|
5月前
情人节浪漫3D照片墙【附源码】
情人节浪漫3D照片墙【附源码】
48 4
|
前端开发 JavaScript
七夕表白,不给女朋友来场炫酷的烟花?
七夕表白,不给女朋友来场炫酷的烟花?
88 0
|
Python
送给小公主的一首诗——闪光屏幕书写(Python实现)
送给小公主的一首诗——闪光屏幕书写(Python实现)
|
小程序 开发工具
樱花飘落模拟器-情人节祝你表白成功
看着樱花缓缓的飘落,然后不觉间竟下起了绵绵的细雨。因为今天我所在的城市正下着小雨,所以就在这个小应用中增加了阵阵的细雨功能。 下面我们就学习一下如何实现一个这样温暖的小程序。 首先准备一下素材。一个粉色的背景,两个樱花花瓣,一个模拟雨滴的长方形,以及两句要显示的话。
132 0
|
计算机视觉 索引
七夕礼物:火柴人特效制作
七夕礼物:火柴人特效制作
323 1
七夕礼物:火柴人特效制作
|
安全 前端开发 JavaScript
圣诞节用女神照片做了一个旋转木马
圣诞节用女神照片做了一个旋转木马
192 0
圣诞节用女神照片做了一个旋转木马
如何快速“肝”出高质量幻灯片?
最近在做毕业答辩的幻灯片,由于是需要中文的模板,但 overleaf [1]给出的中文模板不是很多(主要还是外国的网站)。正好上次一位读者想我推荐了一个中国版本的“overleaf”,点击进入后发现,哎,找到了挺多中文模板啊!果真是中国企业办的。
145 0
如何快速“肝”出高质量幻灯片?
|
存储
photo如何制作长图(外送搞笑毒故事)
image.png 今天在朋友圈看到个很搞笑的毒故事,于是发到了朋友圈,希望可以找找乐子,然后发现只能发9张图,但是我这边看了下有22多张搞笑图,所以接下来我才准备将这些图片做成个长图。
1410 0
下一篇
无影云桌面