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

编程

鼓捣了一阵子的微信机器人今天终于运行成功了,可以选择在每天的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().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 + "

"+"中华农历: " + 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+"

"+Englis+"

"
    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

"
                            "所在城市:%s

"
                            "今日最高温度:%s

"
                            "今日最低温度:%s

"
                            "风向:%s

"
                            "风力:%s

"
                            "湿度:%s

"
                            "PM2.5: %s

"
                            "空气质量:%s

"
                            "易感指数:%s

"
                            "天气:%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)
PS:

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

郑州男科医院哪家好:http://www.zztongjiyiyuan.com/郑州那里看男科医院专业:http://www.zztongjiyiyuan.com/郑州同济男科医院:http://www.zztongjiyiyuan.com/

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

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

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

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

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

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

以上是 用python实现给女朋友定时推送 的全部内容, 来源链接: utcz.com/z/517584.html

回到顶部