社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

利用Python搞定女朋友的小情绪~

中国统计网 • 5 年前 • 684 次点击  

- 点击上方“中国统计网”订阅我吧!-



注:此项目仅供娱乐练习,女朋友还是要认真用心的交往哦~


   01 简介   


脱单狗福利!每天不同时间段给女友定时给女友发消息,不错过早上起床、中午吃饭、晚上吃饭、晚安时间!


有时候,你很想关心她,但是你太忙了,以至于她一直抱怨,觉得你不够关心她。你暗自下决心,下次一定要准时发消息给她,哪怕是几句话,可是你又忘记了。你觉得自己很委屈😭,但是她又觉得你不负责。


现在,再不用担心了,用Python就可以给女友定时发提示消息了,而且不会漏过每一个关键时刻,每天早上起床、中午吃饭、晚上吃饭、晚上睡觉,都会准时发消息给她了,而且还可以让她学习英语单词哦!


在生日来临之时,自动发祝福语。在节日来临之时,比如三八妇女节、女神节、情人节、春节、圣诞节,自动发问候语哦,再也不用担心他说你没有仪式感了~


最重要的时候,实时可以知道女友的情感情绪指数哦,再也不用担心女友莫名其妙生气了。


   02 编写思路   


为了方便快速开发,一般使用 Python 中的wxpy模块完成微信的基本操作。

1. 设置一个config.ini配置文件,并从这个配置文件开始读取信息。这些参数一看就懂,所以无需多言。

# 读取配置文件
cf = configparser.ConfigParser()
cf.read("./config.ini",encoding='UTF-8')


# 设置女友的微信名称,记住,不是微信ID也不是微信备注
# 你女友的微信名称,记住,不是微信ID也不是微信备注
my_lady_wechat_name = cf.get("configuration""my_lady_wechat_name")


# 设置早上起床时间,中午吃饭时间,下午吃饭时间,晚上睡觉时间
say_good_morning = cf.get("configuration""say_good_morning")
say_good_lunch = cf.get("configuration""say_good_lunch")
say_good_dinner = cf.get("configuration""say_good_dinner")
say_good_dream = cf.get("configuration""say_good_dream")


# 设置女友生日信息
# 几月,注意补全数字,为两位数,比如6月必须写成06
birthday_month = cf.get("configuration""birthday_month")
# 几号,注意补全数字,为两位数,比如6号必须写成08
birthday_day = cf.get("configuration""birthday_day")


# 读取早上起床时间,中午吃饭时间,下午吃饭时间,晚上睡觉时间的随机提示语
# 一般这里的代码不要改动,需要增加提示语可以自己打开对应的文件修改
#早上起床问候语列表,数据来源于新浪微博
str_list_good_morning = ''
with open("./remind_sentence/sentence_good_morning.txt""r",encoding='UTF-8') as f:
    str_list_good_morning = f.readlines()
print(str_list_good_morning)


#中午吃饭问候语列表,数据来源于新浪微博
str_list_good_lunch = ''
with open("./remind_sentence/sentence_good_lunch.txt""r",encoding='UTF-8') as f:
    str_list_good_lunch = f.readlines()
print(str_list_good_lunch)


#晚上吃饭问候语列表,数据来源于新浪微博
str_list_good_dinner = ''
with open("./remind_sentence/sentence_good_dinner.txt""r",encoding='UTF-8') as f:
    str_list_good_dinner = f.readlines()
print(str_list_good_dinner)


#晚上睡觉问候语列表,数据来源于新浪微博
str_list_good_dream = ''
with open("./remind_sentence/sentence_good_dream.txt""r",encoding='UTF-8') as f:
    str_list_good_dream = f.readlines()
print(str_list_good_dream)


# 设置晚上睡觉问候语是否在原来的基础上再加上每日学英语精句
# False表示否 True表示是
if((cf.get("configuration""flag_learn_english")) == '1'):
    flag_learn_english = True
else:
    flag_learn_english = False
print(flag_learn_english)
# 设置所有问候语结束是否加上表情符号
# False表示否 True表示是
str_emoj = "(•‾̑⌣‾̑•)✧˖°----(๑´ڡ`๑)----(๑¯ิε ¯ิ๑)----(๑•́ ₃ •̀๑)----( ∙̆ .̯ ∙̆ )----(๑˘ ˘๑)----(●′ω`●)----(●・̆⍛・̆●)----ಥ_ಥ----_(:qゝ∠)----(´;ω;`)----( `)3')----Σ((( つ•̀ω•́)つ----╰(*´︶`*)╯----( ´´ิ∀´ิ` )----(´∩`。)----( ื▿ ื)----(。ŏ_ŏ)----( •ิ _ •ิ )----ヽ(*΄◞ิ౪◟ิ‵ *)----( ˘ ³˘)----(; ´_ゝ`)----(*ˉ﹃ˉ)----(◍'౪`◍)ノ゙----(。◝‿◜。)----(ಠ .̫.̫ ಠ)----(´◞⊖◟`)----(。≖ˇェˇ≖。)----(◕ܫ◕)----(`◕‸◕´+)----(▼ _ ▼)----( ◉ืൠ◉ื)----ㄟ(◑‿◐ )ㄏ----(●'◡'●)ノ♥----(。◕ˇ∀ˇ◕)----( ◔ ڼ ◔ )----( ´◔ ‸◔`)----(☍﹏⁰)----(♥◠‿◠)----ლ(╹◡╹ლ )----(๑꒪◞౪◟꒪๑)"
str_list_emoj = str_emoj.split('----')
if ((cf.get("configuration""flag_wx_emoj")) == '1'):
    flag_wx_emoj = True
else:
    flag_wx_emoj = False
print(str_list_emoj)


# 设置节日祝福语
# 情人节祝福语
str_Valentine = cf.get("configuration""str_Valentine")
print(str_Valentine)


# 三八妇女节祝福语
str_Women = cf.get("configuration""str_Women")
print(str_Women)


# 平安夜祝福语
str_Christmas_Eve = cf.get("configuration""str_Christmas_Eve")
print(str_Christmas_Eve)
# 圣诞节祝福语
str_Christmas = cf.get("configuration""str_Christmas")
print(str_Christmas)


# 她生日的时候的祝福语
str_birthday = cf.get("configuration""str_birthday")
print(str_birthday)

如果你愿意,可以在上面对时间的判断中,加入一些其他你想要的,这样你女友就更开心啦!


2. 开启微信机器人,为了程序的健壮性,自动判断一下操作系统,根据不同操作系统执行不同指令:


# 启动微信机器人,自动根据操作系统执行不同的指令


    

# windows系统或macOS Sierra系统使用bot = Bot()
# linux系统或macOS Terminal系统使用bot = Bot(console_qr=2)
if('Windows' in platform.system()):
    # Windows
    bot = Bot()
elif('Darwin' in platform.system()):
    # MacOSX
    bot = Bot()
elif('Linux' in platform.system()):
    # Linux
    bot = Bot(console_qr=2,cache_path=True)
else:
    # 自行确定
    print("无法识别你的操作系统类型,请自己设置")

3. 设置完相关参数以后,我们来 get 一下,如何每天教女友学英语:


# 获取每日励志精句
def get_message():
    r = requests.get("http://open.iciba.com/dsapi/")
    note = r.json()['note']
    content = r.json()['content']
    return note,content

4. 只有每天的问候和节日问候是仅仅不够的,我们必须时刻知道她的情绪指数,这里可以使用snowNlp或者jieba来做分析,但是为了能够在打包成exe可执行文件时使得程序尽可能小,我们采取直接调用接口的方式来做。代码如下:


# 接收女友消息监听器
# 女友微信名
my_girl_friend = bot.friends().search(my_lady_wechat_name)[0]
# chats=my_girl_friend 表示接收消息的对象,也就是女友
# except_self=False 表示同时也接收自己发的消息,不需要接收自己消息的可以去掉
@bot.register(chats=my_girl_friend, except_self=False)
def print_others(msg):
    # 输出聊天内容
    print(msg.text)


    # 做极其简单的情感分析
    # 结果仅供参考,请勿完全相信
    postData = {'data':msg.text}
    response = post('https://bosonnlp.com/analysis/sentiment?analysisType=',data=postData)
    data = response.text


    # 情感评分指数(越接近1表示心情越好,越接近0表示心情越差)
    now_mod_rank = (data.split(',')[0]).replace('[[' ,'')
    print("来自女友的消息:%s 当前情感得分:%s 越接近1表示心情越好,越接近0表示心情越差,情感结果仅供参考,请勿完全相信!" % (msg.text, now_mod_rank))


    # 发送信息到文件传输助手
    mood_message = u"来自女友的消息:" + msg.text + " 当前情感得分:" + now_mod_rank + " 越接近1表示心情越好,越接近0表示心情越差,情感结果仅供参考,请勿完全相信!"
    bot.file_helper.send(mood_message)

5. 教完女友学英语后,开始把我们的关心语发给她。这里涉及到wxpy模块的相关操作:


# 发送消息给她
def send_message(your_message):
    try:
        # 对方的微信名称
        my_friend = bot.friends().search(my_lady_wechat_name)[0]


        # 发送消息给对方
        my_friend.send(your_message)
    except:


        # 出问题时,发送信息到文件传输助手
        bot.file_helper.send(u"守护女友出问题了,赶紧去看看咋回事~")


6. 如何每天定时发关心语,首先来个while循环,365天无限关心


 # 来个死循环,24小时关心她
    while(True):


        # 提示
        print("守护中,时间:%s"% time.ctime())


        # 每天定时问候,早上起床,中午吃饭,晚上吃饭,晚上睡觉
        # 获取时间,只获取时和分,对应的位置为倒数第13位到倒数第8位
        now_time = time.ctime()[-13:-8]
        if (now_time == say_good_morning):
            # 随机取一句问候语
            message = choice(str_list_good_morning)


            # 是否加上随机表情
            if(flag_wx_emoj):
                message = message + choice(str_list_emoj)


            send_message(message)
            print("提醒女友早上起床:%s" % time.ctime())


        …………这下面还有很多代码,我就不列出来了…………


        # 延时60秒
        time.sleep(60)

最后,输入以下代码开始守护女友模式吧~

    # 开始守护女友
    t = Thread(target=start_care, name='start_care')
    t.start()


   03 使用教程   


pip安装下列包:

  • [x] pip install wxpy
  • [x] pip install requests

设置以下内容:


  [configuration]


# 设置女友的微信名称,记住,不是微信ID也不是微信备注
my_lady_wechat_name = 小强子


# 设置女友生日信息
# 若某一项月份或者日期不想设置,请输入99,不能留空
# 几月,注意补全数字,为两位数,比如6月必须写成06
birthday_month = 03
# 几号,注意补全数字,为两位数,比如6号必须写成08
birthday_day = 18


# 设置早上起床时间,中午吃饭时间,下午吃饭时间,晚上睡觉时间
# 若某一项时间不想设置,请输入99:00,不能留空
say_good_morning = 03:09
say_good_lunch = 03:10
say_good_dinner = 03:11
say_good_dream = 03:12


# 设置晚上睡觉问候语是否在原来的基础上再加上每日学英语精句
# 1表示是,0表示否
flag_learn_english = 1


# 设置所有问候语结束是否加上表情符号
# 1表示是,0表示否
flag_wx_emoj = 1


# 设置节日祝福语
# 情人节祝福语
str_Valentine = 亲爱的,情人节快乐!我想和你一起分享生命中的每一天,直到永远。


# 三八妇女节祝福语
str_Women = 嘿,女神节到了,祝我的女神开心快乐!你每天都是那么好看^_^


# 平安夜祝福语
str_Christmas_Eve = 宝贝,平安夜快乐,你吃苹果了吗?n(*≧▽≦*)n


# 圣诞节祝福语
str_Christmas = 小仙女,圣诞节快乐哦!(づ ̄3 ̄)づ╭❤~


# 她生日的时候的祝福语
str_birthday = 亲爱的,生日快乐,我已经给你准备好了礼物哦,明天你就能看到啦!(*@ο@*) 哇~


   04 演示图片   



End.

来源:养码场


你可能错过的往期内容


扫描二维码 

 咨询入职数据分析

 2000+数据行业小伙伴都在这里~!


我就知道你“在看”
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/46838
 
684 次点击