前言
鼓捣了一阵子的微信机器人今天终于运行成功了,可以选择在每天的5点20分为你的女朋友发送当日的天气,每日一句还有日历,如果你有多个女朋友的话,还可以创建一个列表,之后循环遍历列表为你的多个女朋友发送你的关怀,让你更好的做好时间管理。
设置好你需要关怀的人的微信名,微信扫码登录,剩下的交给程序就可以了~
需要导入的库有requsets请求库 微信wxpy库 time时间库
Python学习交流Q群:903971231### import json,datetime import requests,itchat,sxtwl from itchat.content import * from wxpy import TEXT import time
1. 创建一个日历函数
Python学习交流Q群:903971231### 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().year month = datetime.datetime.now().month rday = datetime.datetime.now().day day = 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 + \', \' + c return txt # 返回当前的日期信息
2. 爬虫爬取爱词霸的每日一句
Python学习交流Q群:903971231 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=\' + question res = 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.hour minute = t.minute second = t.second print(\'%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) break else: time.sleep(5) # 延迟5秒 continue itchat.run() time.sleep(86400)
鼓捣了一阵子的微信机器人今天终于运行成功了,可以选择在每天的5点20分为你的女朋友发送当日的天气,每日一句还有日历,如果你有多个女朋友的话,还可以创建一个列表,之后循环遍历列表为你的多个女朋友发送你的关怀,让你更好的做好时间管理。
设置好你需要关怀的人的微信名,微信扫码登录,剩下的交给程序就可以了~
需要导入的库有requsets请求库 微信wxpy库 time时间库
import json,datetime import requests,itchat,sxtwl from itchat.content import * from wxpy import TEXT import time
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().year month = datetime.datetime.now().month rday = datetime.datetime.now().day day = 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 + \', \' + c return 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=\' + question res = 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.hour minute = t.minute second = t.second print(\'%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) break else: time.sleep(5) # 延迟5秒 continue itchat.run() time.sleep(86400)
最后
女朋友生气了就用这招哄哄吧,百试百灵。当然,脚踏多只船的也可以用,毕竟船不翻安全的永远是自己。我把我的哄女朋友的小秘诀都告诉你了,这不得给我来一个赞。
来源:https://www.cnblogs.com/123456feng/p/16121987.html
本站部分图文来源于网络,如有侵权请联系删除。