python使用itchat模块给心爱的人每天发天气预报
作者:KaiSarH 发布时间:2023-04-12 00:34:26
标签:python,itchat,天气预报
本文实例为大家分享了python给心爱的人每天发天气预报的具体代码,供大家参考,具体内容如下
下面的代码实现了用了之前获取天气的代码,然后用itchat模块
给指定的人发送消息
代码比较简单,改一下CITY_NAME和name个发送语句直接就可以用
import requests
import json
import itchat
from threading import Timer
global CITY_NAME
CITY_NAME = "北京"
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36'
}
def find_weather():
# 获取天气
weather_url = 'http://wthrcdn.etouch.cn/weather_mini?city={}'.format(CITY_NAME)
city_response = requests.get(weather_url, headers=headers)
return json.loads(city_response.text)
def reform_fl(str_fl):
new_str = str_fl.split("[")[2].split("]")[0]
if new_str.startswith("<"):
result = new_str.split("<")[1]
else:
result = new_str
return result
def send_news(str):
itchat.auto_login() # 弹出一张图片二维码,扫描登录网页微信
person= itchat.search_friends(name='一只可爱的小奶猫') # 选择给谁发送,name是他的备注
mylover = person[0]["UserName"]
itchat.send(str, toUserName=mylover)
Timer(86400, send_news).start() # 每隔86400秒发送一次,每天发一次
if __name__ == "__main__":
weather_info = find_weather()
forecast_weather = weather_info.get('data').get('forecast')
ganmao = weather_info.get('data').get('ganmao')
str_1 = '今天是:' + forecast_weather[0].get('date') + '\n' \
+ '最高温度:' + forecast_weather[0].get('high') + '\n' \
+ '最低温度:' + forecast_weather[0].get('low') + '\n' \
+ '风向:' + forecast_weather[0].get('fengxiang') + '\n' \
+ '风力:' + reform_fl(forecast_weather[0].get('fengli')) + '\n' \
+ '天气状况:' + forecast_weather[0].get('type') + '\n'
str_2 = "早安亲爱滴:%s\n%s最近%s" % (str_1,CITY_NAME, ganmao)
send_news(str_2)
来源:https://blog.csdn.net/KaiSarH/article/details/103211032


猜你喜欢
- 本文实例为大家分享了python实现飞机大战的具体代码,供大家参考,具体内容如下游戏的实现本质是多个图片的快速切换,类似动画一样,达到动态的
- 观察一下”插入排序“:其实不难发现她有个缺点:如果当数据是”5, 4, 3, 2, 1“的时候,此时我们将“无序块”中的记录插入到“有序块”
- 语句格式:numpy.zeros(shape, dtype=float, order='C')参数说明:shape:整型或元
- 内容简介随着大数据时代到来,网络信息量也变得更多更大,基于传统搜索引擎的局限性,网络爬虫应运而生,本书从基本的爬虫原理开始讲解,通过介绍Pt
- 表结构的修改1、表结构修改后,原来表中已存在的数据,就会出现结构混乱,makemigrations更新表的时候就会出错比如第一次建模型,漏了
- 概述虽然现在关系型数据库越来越相似,但其背后的实现机制可能大相径庭。实际使用方面,因为SQL语法规范的存在使得我们熟悉多种关系型数据库并非难
- 本文主要介绍了vue中的数据绑定原理的实现,分享给大家,也给自己留个笔记,具体如下:vue中的响应式数据绑定是通过数据劫持和观察者模式来实现
- 前言目前有一张tif格式的栅格影像,需要在web地图上进行展示,使用动态切片WMS的方式,渲染速度比较慢,而且大的时候会出现模糊的问题。并且
- Config:服务端连接Git配置,代码如下所示:1、导入依赖<dependencies> <d
- MySQL 系统会在内存(MEMORY)和磁盘(MyISAM)中建立临时表,如何能知道在磁盘中建立了多少临时表以及在内存中建立多
- 以前在工作中遇到一个问题,当表单发送的数据量很大时,就会报错。查阅MSDN了解到,原因是微软对用Request.Form()可接收的最大数据
- SQL 标准使用 CREATE TABLE 语句创建数据表;MySQL 则实现了三种创建表的方法,支持自定义表结构或者通过复制已有的表结构来
- RNN(recurrent neural Network)循环神经网络主要用于自然语言处理(nature language processi
- 1.引言热力图的想法很简单,用颜色替换数字。现在,这种可视化风格已经从最初的颜色编码表格走了很长一段路。热力图被广泛用于地理空间数据。这种图
- 今天我去隽辰的博客去看他的文章,在读完他的文章之后,我很自然的就去读网友们给他留的评论,在读的时候我发现他的评论是顺序的,也就是最早的评论在
- 简要讨论为什么它不提供++作为运算符 正常情况下,当有人问起++原因而不是Python中的运算符时,这一行引起了我的注意。如果您想知道最初的
- 本文实例讲述了JS实现将Asp.Net的DateTime Json类型转换为标准时间的方法。分享给大家供大家参考,具体如下:直接上例子,如下
- 该程序通过绘制树干(最初是树;后来是树枝)并递归地添加树来绘制“树”。 使用Pillow。利用递归函数绘制分形树(fractal tree)
- for循环在Python中有遍历所有序列的项目,如列表或一个字符串。语法:for循环语法如下:for iterating_var
- 数据加载分为加载torchvision.datasets中的数据集以及加载自己使用的数据集两种情况。torchvision.datasets