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

      • 依赖
        • 两个接口
        • 第三方库
      • 每日诗词
        • 代码
        • 效果图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)

  • 按古诗词标题查找

  • 按古诗词作者查找

每日桌面

代码

原理:
在使用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库的使用。

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

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

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

时间: 2024-09-20 06:33:14

每日一首古诗, 每日一个桌面壁纸的相关文章

Bing每日图片用作桌面壁纸

  bing desktop是微软此前推出的一款名为必应缤纷桌面客户端,可以把bing搜索每天的图片设置为你的桌面壁纸,支持所有的Windows操作系统,具备每天自动更换Windows桌面壁纸的功能;另外bing Desktop还支持部分bing搜索的功能. 启动bing desktop后,可以通过Win+Y快捷键可以调出主面板.点击"选择必应缤纷壁纸"图标,可以查看最近9天的必应美图.鼠标停留到图片上方,可以看到图片的相关信息,鼠标左键点击图片将其设置为当前桌面背景. 图1 图2 另

mfc-MFC程序增加显示每日格言的功能,一个是自动运行每一个是通过菜单运行

问题描述 MFC程序增加显示每日格言的功能,一个是自动运行每一个是通过菜单运行 每日格言放在tips.txt文件中,每行一条,可以点击上一条下一条翻阅 解决方案 参考:http://www.codeproject.com/Articles/17/Improved-Tip-of-the-Day-Dialog 解决方案二: 读取文件:getline 将文件的内容update到控件上. 你这道题目的问题在于:每天要显示一条,那你如何保证一天只读取和显示一次文本内容.你这样操作: 在安装目录下生成一个文

Photoshop设计拼接风格中国风时尚桌面壁纸

使用建筑物拼接的创意桌面壁纸,非常类似于OM风格的拼接作品,此类作品的要点就是如何构图和素材的排放, 难得今天工作不忙,抽空做一个壁纸.弄一个有那么一点点中国味的壁纸,好过年用.这次找的素材不够清晰,图有些瑕疵.(^o^)/~现拿出来给大家一同分享.O(∩_∩)O~没啥含义,玩玩罢了. --ok点击大图 坚持练习平面习作之后,发现自己真的有了那么点进步了.以前我是掌握软件但没有多少想法的,原因是真的看得太少了.有时候是要强波自己多看点多看点才会有那么点吸收. 如果有朋友觉得学平面设计就一定要看平

win7更换桌面壁纸时提示出错怎么办

在Win7系统中更换桌面壁纸时出现错误,提示:无法将图片设为壁纸,出现内部错误.遇到这种问题我们该如何解决? 1.首先双击桌面"计算机"图标,在界面中点击"组织"-"文件夹和搜索选项". 2.然后在窗口中切换"查看"选项卡,在高级设置一栏去掉"隐藏受保护的操作系统文件"勾选,然后再选中"显示隐藏的文件.文件夹和驱动器"点击"确定". 3.然后再打开 C:Users用户

如何让自己的电脑多个桌面壁纸智能切换

现在不管多么美女的壁纸看久了多会让人感觉不好看,而有的人很喜欢一些美女的壁纸,但是老是要等到自己看腻了然后再自己手动换过其他的壁纸,感觉更郁闷.下面小编教你不用任何软件就能让你的windows系统自动切换壁纸. 1 右键桌面空白处,选择个性化设置,然后设置桌面壁纸,当你设置超过2个就能设置切换时间了,小编这里是啦很多很多进去,让它1个小时换一个桌面. 这个感觉真的很好,有的时候是设置成一天换一次.这样每天都有新的壁纸. 2 设置自动播放的好处: 设置壁纸自动播放时间,除了设置上面的多少时间更换一

电脑系统的桌面壁纸如何锁定

  具体方法如下: 1.打开开始--运行,输入regedit打开注册表编辑器; 2.依次展开:HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPolicies; 3.在这个目录下新建一个项ActiveDeskop; 4.再在右侧窗口中新建一个名为NochangingWallPaper的DWORD值,并将它的值设为1; 5.如果要接触桌面壁纸的锁定,将NochangingWallPaper的数值改为0即可.

安卓开发一个桌面软件如何替换系统所有app图标,注意是所有的APP图标哦,不是这个桌面软件的图标

问题描述 安卓开发一个桌面软件如何替换系统所有app图标,注意是所有的APP图标哦,不是这个桌面软件的图标 想做一个APP跟什么QQ桌面之类的,能够替换桌面壁纸,更换主题这样的,现在遇到的问题就是能够换壁纸,但是更换系统APP图标遇到了技术上的瓶颈,求各路大神帮忙啊,小弟跪谢.

【Win10应用开发】自定义桌面壁纸

原文:[Win10应用开发]自定义桌面壁纸 调用通用的API来设置桌面壁纸,是一件既简单又有趣的事情,结合XAML可以生成图像的特性,你甚至可以做一个应用,让用户用他所拍的照片做成一张自定义壁纸,然后作为桌面壁纸. 这个API是通用的,应用运行在任意Windows设备上都能使用,当然包括手机.在Windows.System.UserProfile命名空间下,有一个叫UserProfilePersonalizationSettings的类,它可以修改锁屏壁纸和桌面壁纸,调用后会返回bool值,如果

Python实现设置windows桌面壁纸代码分享_python

每天换一个壁纸,每天好心情. # -*- coding: UTF-8 -*- from __future__ import unicode_literals import Image import datetime import win32gui,win32con,win32api import re from HttpWrapper import SendRequest StoreFolder = "c:\\dayImage" def setWallpaperFromBMP(imag