鼓捣了一阵子的微信机器人今天终于运行成功了,可以选择在每天的5点20分为你的女朋友发送当日的天气,每日一句还有日历,如果你有多个女朋友的话,还可以创建一个列表,之后循环遍历列表为你的多个女朋友发送你的关怀,让你更好的做好时间管理
设置好你需要关怀的人的微信名,微信扫码登录,剩下的交给程序就可以了

需要导入的库有requsets请求库 微信wxpy库 time时间库
import json,datetime
import requests,itchat,sxtwl
from itchat.content import *
from wxpy import TEXT
import time

注意:光理论是不够的,在此送大家一套2020最新Python全栈实战视频教程,点击此处 免费获取一起进步哦!

1.创建一个日历函数

def getYMD():#获得对应的农历ymc = [u"十一", u"十二", u"正", u"二", u"三", u"四", u"五", u"六", u"七", u"八", u"九", u"十"]rmc = [u"初一", u"初二", u"初三", u"初四", u"初五", u"初六", u"初七", u"初八", u"初九", u"初十",u"十一", u"十二", u"十三", u"十四", u"十五", u"十六", u"十七", u"十八", u"十九",u"二十", u"廿一", u"廿二", u"廿三", u"廿四", u"廿五", u"廿六", u"廿七", u"廿八", u"廿九", u"三十", u"卅一"]Gan = ["甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"]Zhi = ["子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"]ShX = ["鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊", "猴", "鸡", "狗", "猪"]numCn = ["天", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十"]lunar = sxtwl.Lunar()year = datetime.datetime.now().yearmonth = datetime.datetime.now().monthrday = datetime.datetime.now().dayday = lunar.getDayBySolar(year, month, rday)d = str(day.y) + "年" + str(day.m) + "月" + str(day.d) + "日"if day.Lleap:a = "润" + ymc[day.Lmc] + "月" + rmc[day.Ldi] + "日"else:a = ymc[day.Lmc] + "月" + rmc[day.Ldi] + "日"b = "星期" + numCn[day.week]c = Gan[day.Lyear2.tg] + Zhi[day.Lyear2.dz] + "年" + Gan[day.Lmonth2.tg] + Zhi[day.Lmonth2.dz] + "月" + Gan[day.Lday2.tg] + Zhi[day.Lday2.dz] + "日"txt = '今天日期:'+d + ', ' + b + '\n'+'中华农历: ' + a + ', ' + creturn txt  #  返回当前的日期信息

2.爬虫爬取爱词霸的每日一句

def get_iciba_everyday_chicken_soup():url = 'http://open.iciba.com/dsapi/' # 爱词霸的api地址r = requests.get(url)all = json.loads(r.text)Englis = all['content']Chinese = all['note']everyday_soup = Chinese+'\n'+Englis+'\n'return everyday_soup  #  返回爱词霸的每日一句

3.天气接口函数

def get_sentence(api):santence = requests.get(api)return santence.json()

4.微信图灵机器人

def get_response(question):apikey = '17216627bdd6495480ec7608fa1f4aeb'url = 'http://openapi.tuling123.com/openapi/api/v2' + apikey + '&info=' + questionres = requests.get(url).json()return res['text']#  微信机器人
@itchat.msg_register(TEXT, isFriendChat=True)
def auto_reply(msg):print("消息是:%s" % msg['Content'])itchat.send_msg(get_response(msg['Content']), toUserName=msg['FromUserName'])print('auto_reply:%s' % get_response(msg['Content']))

5主函数main()

if __name__ == '__main__':names  = input("请输入你要发送人的微信名:")hours = int(input("请输入几点发送消息:"))minutes = int(input("请输入几分发送消息:"))number = input("输入所在城市的编号:")g = getYMD()g1 = get_iciba_everyday_chicken_soup()#  天气接口的网站 number为城市编号name = 'http://t.weather.sojson.com/api/weather/city/'+ number#  向get_sentence 传入参数g2 = get_sentence(name)times = g2['cityInfo']for key, name in times.items():city = times['city']parent = times['parent']#  字典嵌套字典time1 = g2['data']for key, name in time1.items():shidu = time1['shidu']pm25 = time1['pm25']quality = time1['quality']ganmao = time1['ganmao']time1 = g2['data']time2 = time1.get('forecast', '不存在该键')time2 = time2[0]itchat.auto_login(hotReload=True)for key, name in time2.items():high = time2['high']low = time2['low']fx = time2['fx']fl = time2['fl']type = time2['type']notice = time2['type']#  调用微信机器人users = itchat.search_friends(names)  # 找到用户userName = users[0]['UserName']while True:t = datetime.datetime.now()t1=t.strftime('%Y-%m-%d %H:%M:%S')hour = t.hourminute = t.minutesecond = t.secondprint('%d:%d:%d' % (hour,minute,second))if hour == hours and minute == minutes:itchat.send_msg("%s" % g, toUserName=userName)itchat.send_msg('%s' % g1, toUserName=userName)itchat.send_msg('所在省份:%s\n''所在城市:%s\n''今日最高温度:%s\n ''今日最低温度:%s\n''风向:%s\n ''风力:%s\n''湿度:%s \n''PM2.5: %s\n''空气质量:%s \n''易感指数:%s\n''天气:%s - %s '%(parent,city,high,low,fx,fl,shidu,pm25,quality,ganmao,type,notice), toUserName=userName)breakelse:time.sleep(5)  #  延迟5秒continueitchat.run()time.sleep(86400)

PS:

1.输入城市编码时,通过下列网址查找所希望的城市编码

https://github.com/baichengzhou/weather.api/blob/master/src/main/resources/citycode-2019-08-23.json

2.在输入小时数的时候为24小时格式,输入早上8点,要输入08,不能输入8.

3.输入发送的微信时,必须是接收人的微信全名,备注不可以接收,会查询不到通讯录

愿你在我看不到的地方安然无恙,

愿你的冬天永远不缺暖阳。

愿你的明天不再经历雨打风霜,

愿你的未来永远热泪盈眶            --写给前任

用python实现给女朋友定时推送相关推荐

  1. python123空气质量提醒_用Python实现给女朋友定时推送消息

    释放双眼,带上耳机,听听看~! Python微信机器人定时推送消息给自己女朋友,可以选择在每天的5点20分为你的女朋友发送当日的天气,每日一句还有日历. 如果你有多个女朋友的话,还可以创建一个列表,之 ...

  2. 通过GitHub Actions给微信公众测试号和钉钉群定时推送消息(Python)

    通过GitHub Actions给微信公众测试号和钉钉群定时推送消息(Python) https://github.com/QInzhengk/Math-Model-and-Machine-Learn ...

  3. 手把手教你给女朋友编写一个公众号定时推送(java版本)

    2022-08-15 开通微信云托管 在公众号推送的云服务器选择上,我选择的是微信云托管. 扫码登陆后,如果是第一次注册试用,没有环境,可以选择自己擅长的语言进行一键部署模板.此处我选择的是Sprin ...

  4. 微信早安,利用uniCloud阿里云的云函数实现定时推送

    最近比较火的微信早安,看了一下小红书 @猪咪不是猪的教程,也动手做了一下,并做了一下实现定时的优化与符合我自己需求的修改.由于本人并不很熟悉python,所以部分修改是基于教程源码做修改的,在此也感谢 ...

  5. springboot定时发送短信_springboot 整合websocket实现消息推送(主动推送,具体用户推送,群发,定时推送)...

    websocket springboot 整合websocket实现消息推送(主动推送,具体用户推送,群发,定时推送) 使用WebSocket构建交互式Web应用程序 本指南将引导您完成创建" ...

  6. netty服务器定时发送消息,netty+websocket+quartz实现消息定时推送

    netty+websocket+quartz实现消息定时推送&&IM聊天室 在讲功能实现之前,我们先来捋一下底层的原理,后面附上工程结构及代码 1.NIO NIO主要包含三大核心部分: ...

  7. 极光推送服务端API(定时推送任务,推送到指定设备,推送到所有设备)

    极光推送常用的几个api方法总结,抽取出了utils类,利用MsgType进行业务类型区别,方便app端收到推送后进行不同处理: 首先引入依赖: <!-- 极光推送 --><depe ...

  8. android 本地提醒功能,android中的本地定时推送到通知栏

    一.使用系统定义的Notification 以下是使用示例代码: import android.app.Notification; import android.app.NotificationMan ...

  9. 微信早安定时推送 简单方法教程(windows通用)

    无需计算机基础,跟着教程无脑学! 如果你还没做出这样的效果 请参考往期文章(必能学会): https://blog.csdn.net/A_Xunla/article/details/126521400 ...

最新文章

  1. php对联广告,html左右对联代码 cms网站对联广告html代码
  2. Python拾遗1:collections、itertools和内存io
  3. string常用函数用法集合
  4. 陪同学面试,我竟然被录取了
  5. 从开发到生产上线,如何确定集群大小?
  6. 福建省高考成绩查询2021具体时间,福建高考时间2021具体时间表一览 福建高考时间是几月几号...
  7. 恒生电子:O45好在哪儿(深度)| 国君计算机李沐华
  8. 2019深圳杯数学建模比赛--初步思路
  9. ubuntu防火墙安装和设置-ufw
  10. WSUS无法发现客户端
  11. AUTOSAR-Fee模块
  12. UML时序图速查——架构设计必备技能
  13. 2020.9.20深圳湾-莫安迪摄影原创作品
  14. 【软考四】软件知识产权基础知识(做题)
  15. 超详细!K8s 面试知识点
  16. CleanMyMac x for Mac系统清理工具简单安装,彻底清理!
  17. ECG,脉搏波,心率,心率变异性,血压
  18. STM32 使用SYN6288语音模块
  19. 【一盏灯】利用单片机点亮一盏灯
  20. android手机强装ios处理器,把无敌的苹果A11处理器,装进安卓手机还能这么牛X吗?...

热门文章

  1. 通信管理机——上位机组态(2)
  2. MYSQL多表关联查询与子查询
  3. 苹果笔记本能玩英雄联盟吗_预算4500以内,能玩英雄联盟的轻薄本有哪些?
  4. 软考考前20问丨带你学透「软设」重难点(1)
  5. markdown编辑器中可以使用的6种空格标记
  6. LinearLayout,四等分,左右靠边。
  7. JavaWeb_2-servlet1
  8. java List集合按照条件分组
  9. 错误代码666020_错误代码大全及意思详解【图解】
  10. 【愚公系列】2023年06月 网络安全(交通银行杯)-中国菜刀