本文实例为大家分享了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)