前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Python自动制作《历史上的今天》宣传图片

使用Python自动制作《历史上的今天》宣传图片

作者头像
周萝卜
发布2024-07-01 12:44:48
650
发布2024-07-01 12:44:48
举报
文章被收录于专栏:萝卜大杂烩萝卜大杂烩

大家好,今天分享一个通过 Python 自动创建相关图片的教程,而这个相关图片就是《历史上的今天》,那么为啥是历史呢,因为萝卜哥是一个历史迷,从小就喜欢啃历史书,随着年龄的增长,这份热情还是没有减退~

好了闲话不都说,我们直接上干货

数据获取

首先就是数据哪里来,我试过使用网上的一些免费历史查询接口,但是效果都不理想,这些接口不是太不稳定,就是数据不友好。最后我还是选择了一个精简的网站,直接扒网站页面信息即可

http://jintian.160.com/

网站很简单,也没有任何反爬措施,我们直接抓取数据

这里提供了月和天的变量,就是为了后面我们做成 web 服务时可以方面的获取任何时间的历史信息

然后我们再编写一个函数,把获取到的数据转化成 DataFrame 格式

图片制作

对于最终生成的图片,使用的是 PyEcharts 制作,核心代码复用了《可以叫我才哥》公众号号主才哥的相关代码,下面我们简单解析下相关代码

首先我们明确图片基础是 Line 类型,没错就是我们平时用的最多的折线图!

先生成 Y 轴 数据

使用系列配置pyecharts.options当中的LineItem类,不过很奇怪的是,这个类竟然在 PyEcharts 官网中找不到,还是查看了官方源码才大概了解其作用

大概的意思就是批量的设置 Line 的属性,这里不得不吐槽下 PyEcharts 官方文档,真的该好好维护下啊~(如果我这里理解的不对,欢迎指出,咱们一起学习~)

也就是说上面的代码生成了一系列数据,这些数据 X 轴都是 10,Y 轴是从 0 开始,一直到循环的最后一个值递增,同时还通过LabelOpts设置了 msg 信息,也就是我们最终看到的历史信息

XY 轴数据设置好之后,就是其他的样式调整了

这里考验的就是 PyEcharts 的熟练程度了,反正萝卜我是不达标的,这样样式如果是我自己,可能要对照官网调整大半天,哈哈哈

好了,图片制作就介绍到这里

部署 Web 服务

因为有个需求就是每天获取图片,然后转发到微信群,那么最方便的方法就是部署成 Web,在公网上访问即可

对于这种临时的,个人网站,还是推荐使用 Flask,毕竟快就是优势(这里的快指的是编写快,上手快~)

导入 Flask 和 PyEcharts 相关库

然后设置路由函数

这样就好了,通过 Flask 自带的 Web 容器启动即可

好了,今天的分享就到这里

看到这里的朋友,如果你觉得满意请务必点个 + 在看 支持下。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 萝卜大杂烩 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据获取
  • 图片制作
  • 部署 Web 服务
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档