Python社区  »  Python

新年新气象,90行代码菜鸟用Python制作小姐姐新年日历天气卡,送人太有面子啦!

菜鸟学Python • 1 月前 • 37 次点击  

公众号 “菜鸟学Python

432篇原创,设为 “星标”,一起学Python!


新年新气象,新的一年,我们要给自己的好友送上最好的祝福,送上精心准备的礼物。如果我们能给自己的好友送上自己亲手制作的《小姐姐新年日历天气卡》,不仅体现出了自己的诚意,而且还能让好友获得充满新意的礼物。


今天就带领大家制作一款《小姐姐新年日历天气卡》,让大家能分享给自己的好友吧!


0.如何制作

为了让大家对这款新颖的天气卡有直观的印象,我们首先来看一下它的效果吧:

可以看到,这张天气卡主要是分为四个部分,分别是画面最上方的日期内容显示,偏上方的装饰花、中间部分的中英文名言内容以及最下方的天气内容的展示。画面整体布局非常的合适,而且背景图是美丽的小姐姐,让这张新年天气卡瞬间充满了吸引力。

requests   2.23.0

urilib         1.25.3

gzip            python标准库

json           2.0.9

PIL             7.2.0

datetime python标准库


1.图片的处理

对于程序中涉及到的图片内容的操作,都是利用PIL库来进行完成的,例如下图程序:

上述程序中,我们利用PIL中的Image文件中的open函数来打开背景图片和装饰花图片,然后创建一个和背景图相同大小的ImageDraw对象,该对象用于上面提到的名言和天气信息的叠加。接下来我们来分别看一下日期内容、名人名言以及天气信息是如何获取的吧。


2.日期内容

对于日期内容来说,是最容易获取的,我们只需要利用python的内置标准库datetime就可以来制作日期的内容信息。


3.名言

对于名言内容的获取,我们通过金山词霸的接口来直接抓取,它会每天进行名言的更新,而且对于接口的请求,不需要设置复杂的反扒措施,直接请求就能获取。


4.天气信息

对于天气信息的获取,同样是通过json数据接口来进行获取的,但是相比名言爬取,稍微复杂的是,我们不仅需要对json的数据进行提取,而且还要根据json数据中的天气信息在天气卡中展示相应的天气图标。

上述的程序中,我默认的城市是北京,大家也可以根据自己所在的城市,进行相应的修改。此外,对于天气图标的设置,这里我只是简单的获取了“晴”、“多云转晴”、“小雪”等11种天气的类型。
因此不在这十一种天气中的图标暂时还不能展示。大家也可以不断的补充完善天气类型,让天气图标的显示更加丰富。


5.图片的展示

对于信息获取完毕后,接下来就是对于内容在背景图上的展示了,好的布局才能体现出价值,所以对于图像的各个部分展示需要做出合理的规划。
对于布局规划,大家可以获取源码来详细的查看,这里我们对于日期信息和名言部分的内容做一下简单的程序讲解。

  • 首先是在ImageDraw对象中画出了三个粉红色矩形框,方便我们后续在三个矩形框中绘制天气信息;
  • 然后分别在ImageDraw对象的(40,50)和(30,300)的位置分别添加了日期信息和名言内容的信息。
  • 对于天气信息的展示,同样也是在ImageDraw对象上进行绘制。将日期、名言和天气信息绘制到ImageDraw对象上后;
  • 最后利用Image.alpha_composite函数将背景图像和ImageDraw对象叠加到一起,形成我们的天气卡。

好了,我们来展示一下组合的成果,方便大家来制作自己的新年日历天气卡。


小编是iu的粉丝,悄悄的做了一个iu的日历,嘿嘿~~


是不是很酷啊,学Python就是这么有趣好玩,只有把编程的技术运用起来,能运用到实际的生活中去,这样的编程才有意思。如果你也想生成小姐姐日历,可以找小编。


如何免费帮你生成小姐姐日历,可以找小助手帮忙。

公众号后台输入:小助手 ,暗号:日历





年度爆款文案



点这里,获取新手福利

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/106228
 
37 次点击  
分享到微博