当前位置:首页>python>自学编程第57课(上):用python实现微信推送——让天气数据“飞”到你手机上

自学编程第57课(上):用python实现微信推送——让天气数据“飞”到你手机上

  • 2026-10-11 06:26:59
自学编程第57课(上):用python实现微信推送——让天气数据“飞”到你手机上

点击蓝字 关注我们

第56课Flask网页搭建后,Tyree要打开浏览器才能看天气,还是不够方便。他想要的是“一睁开眼睛,手机上就有条消息告诉我今天几度、要不要带伞”。

邮件设置太麻烦,我们换一条更直接的路——微信推送。你只需要注册一个推送服务账号,获取一个Key,然后在代码里发一条HTTP请求,消息就会出现在你的微信上,不需要配置邮箱。

1

注册PushPlus获取Key

PushPlus是国内最常用的微信推送服务,免费、稳定、操作简单。

详细操作可参考下面:

1. 打开浏览器访问:`https://pushplus.plus`

2. 点击右上角“登录”,用微信扫码登录(第一次使用会自动注册)

3. 登录后,在首页左侧菜单找到“发送消息”,你会看到自己的“Token”(一串字母和数字)

4. 复制这个Token保存好,它就是你的“推送通道”

> 这个需要实名认证,认证需要支付认证费用。

2

第一条推送:发一条测试消息

我们下面用Python发一个HTTP请求,把你的消息推送到微信。

代码解释:

`requests.get(url)`:向PushPlus服务器发送一个GET请求,把消息内容和Token一起传过去

`data.get("code") == 200`:PushPlus返回的code为200表示成功

运行后,你的微信会收到一条服务通知(在“服务通知”公众号里,或PushPlus公众号里)

3

推送天气数据到微信

下面我们来把第53课采集的天气数据,用推送服务发到微信上。

代码解释:

get_latest_weather():打开 

weather_history.csv,用 csv.DictReader 把每一行转成字典(键是表头,值是数据),list(reader) 把所有行读成一个列表,rows[-1] 取最后一行(最新一天的数据)。如果文件不存在或为空,返回 None。

send_push(title, content):把标题和内容拼接到PushPlus的URL中,发送GET请求,返回 True 或 False 表示推送是否成功。

response.json().get("code"):PushPlus返回的JSON数据中,code 为200表示成功。.get("code") 不会因为 code 不存在而报错。

如果 weather 有数据,就组装标题和内容(标题用 ☀️ 和日期,内容用换行排好版),调用 send_push 发送,根据返回值打印结果。

使用时要注意 token = "你的Token"这里要换成自己的Token,否则推送会失败!

4

推送带图表的天气数据

PushPlus支持Markdown格式,可以把图表图片发到微信上。

第一步:先把图表上传到图床(或使用PushPlus的图片上传功能),获取图片链接。

简化方案:直接用文字+emoji展示天气数据,不用图片,避免图床配置麻烦。(代码看下面第一张图)

如果一定要带图片,可以先把 `weather.png` 上传到PushPlus的“文件管理”或使用第三方图床,然后把图片链接嵌入Markdown(具体代码看上面第二张图)

5

结合定时任务,每天早上自动推送

下面我们来把推送代码和 `schedule` 结合起来,每天早上8点自动推送到微信。代码如下图

每天推送的时间,可以根据自己的要求进行设置,主要看自己哪个时间点要看。

6

PushPlus常见问题

Q: 推送后微信收不到消息?

- 检查是否关注了“PushPlus”公众号

- 检查Token是否正确(不要有多余空格)

- 免费版每天200条,确认没有超限

Q: content太长怎么办?

- PushPlus有长度限制(免费版约2000字),天气数据完全够用

Q: 不想用PushPlus,有没有别的选择?

-Server酱:类似的微信推送服务,配置方式几乎一样

-Bark:iOS专用推送,不需要注册

7

课后小挑战

挑战1:在推送内容中增加一句话的穿衣建议(比如“今天较热,建议穿短袖”)。

挑战2:把推送时间改成早上7点,在你出门前先收到天气通知。

8

今天学到了什么

- PushPlus:微信推送服务,注册即可使用

- `requests.get(url)`:通过HTTP请求发送消息

- 把天气数据和推送结合起来,实现手机端接收

好了,今天课程先到这里。 

下一节课:我们来做一个完整项目——天气数据全自动推送,把采集、存储、画图、推送全部串起来。

————热门推荐————

自学编程第40课:打包游戏成exe文件——发给朋友

自学编程第46课:Python写段代码让麦克风实时语音识别

少儿自学编程第45课:——从音频文件识别语音

自学编程第36课:太空避障——完整游戏设计与难度平衡

自学编程第7课:turtle画图入门画正方形五角形三角形

自学编程第6课:列表+循环+判断做一个学生成绩分析器

自学编程第51课:爬虫入门让Python帮你从网页“拿”数据

自学编程第一步:安装Python和Thonny 零基础图文教程

本系列教程持续更新,欢迎关注收藏

图‖文 宝月小鹿 转载须标明出处

点赞

收藏

分享

最新文章

随机文章