python使用itchat模块给心爱的人每天发天气预报


Posted in Python onNovember 25, 2019

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
一个超级简单的python web程序
Sep 11 Python
用Python创建声明性迷你语言的教程
Apr 13 Python
Python下Fabric的简单部署方法
Jul 14 Python
python+mongodb数据抓取详细介绍
Oct 25 Python
Python装饰器知识点补充
May 28 Python
python PIL和CV对 图片的读取,显示,裁剪,保存实现方法
Aug 07 Python
Python测试模块doctest使用解析
Aug 10 Python
Python中常用的高阶函数实例详解
Feb 21 Python
Python pip安装模块提示错误解决方案
May 22 Python
python:删除离群值操作(每一行为一类数据)
Jun 08 Python
Python unittest生成测试报告过程解析
Sep 08 Python
Python控制台输出俄罗斯方块移动和旋转功能
Apr 18 Python
python pygame实现挡板弹球游戏
Nov 25 #Python
numpy 返回函数的上三角矩阵实例
Nov 25 #Python
如何基于Python获取图片的物理尺寸
Nov 25 #Python
Python:slice与indices的用法
Nov 25 #Python
python科学计算之narray对象用法
Nov 25 #Python
python运用pygame库实现双人弹球小游戏
Nov 25 #Python
python科学计算之scipy——optimize用法
Nov 25 #Python
You might like
memcached 和 mysql 主从环境下php开发代码详解
2010/05/16 PHP
比较discuz和ecshop的截取字符串函数php版
2012/09/03 PHP
PHP生成和获取XML格式数据的方法
2016/03/04 PHP
php+mysql实现的二级联动菜单效果详解
2016/05/10 PHP
PHP简单实现循环链表功能示例
2017/11/10 PHP
PHP设计模式之适配器模式(Adapter)原理与用法详解
2019/12/12 PHP
如何在PHP中读写文件
2020/09/07 PHP
jQuery 1.7.2中getAll方法的疑惑分析
2012/05/23 Javascript
JavaScript实现网页图片等比例缩放实现代码及调用方式
2013/02/25 Javascript
给超链接添加特效鼠标移动展示提示信息且随鼠标移动
2013/10/17 Javascript
jscript读写二进制文件的方法
2015/04/22 Javascript
jQuery实现伪分页的方法分享
2016/02/17 Javascript
深入浅析Extjs中store分组功能的使用方法
2016/04/20 Javascript
jQuery选择器之表单元素选择器详解
2017/09/19 jQuery
bootstrap table实现点击翻页功能 可记录上下页选中的行
2017/09/28 Javascript
使用puppeteer破解极验的滑动验证码
2018/02/24 Javascript
Vue项目查看当前使用的elementUI版本的方法
2018/09/27 Javascript
vue动态绑定class选中当前列表变色的方法示例
2018/12/19 Javascript
利用Node.js如何实现文件循环覆写
2019/04/05 Javascript
Layui弹框中数据表格中可双击选择一条数据的实现
2020/05/06 Javascript
Vuejs通过拖动改变元素宽度实现自适应
2020/09/02 Javascript
[10:21]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster 选手采访
2021/03/11 DOTA
Python使用Flask框架获取当前查询参数的方法
2015/03/21 Python
详解Django-auth-ldap 配置方法
2018/12/10 Python
Python实现计算对象的内存大小示例
2019/07/10 Python
Python短信轰炸的代码
2020/03/25 Python
Django多层嵌套ManyToMany字段ORM操作详解
2020/05/19 Python
使用keras实现BiLSTM+CNN+CRF文字标记NER
2020/06/29 Python
html5 横向滑动导航栏的方法示例
2020/05/08 HTML / CSS
SportsDirect.com新加坡:英国第一体育零售商
2019/03/30 全球购物
Brasty波兰:香水、化妆品、手表网上商店
2019/04/15 全球购物
C语言中break与continue的区别
2012/07/12 面试题
Python中pass语句的作用是什么
2016/06/01 面试题
科长竞争上岗演讲稿
2014/05/12 职场文书
材料成型及控制工程专业求职信
2014/06/19 职场文书
收款授权委托书
2014/10/02 职场文书