教你用Python感知女友的情绪变化!

导读

程序员找个对象不容易啊,好不容易有了女友,可相处起来老是磕磕碰碰。python


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


如今,再不用担忧了,用python就能够给女朋友定时发提示消息了,并且不会漏过每个关键时刻,天天早上起床、中午吃饭、晚上吃饭、晚上睡觉,都会准时发消息给她了,并且还可让她学习英语单词哦!git


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


最重要的是,能够实时知道女朋友的情感情绪指数,不再用担忧女朋友莫名其妙生气了。github


编写思路web


为了方便快速开发,咱们使用python中的wxpy模块完成微信的基本操做。
json


首先,咱们设置一个config.ini配置文件,并从这个配置文件开始读取信息。这些参数一看就懂,因此无需多言。windows


↓上下滑动可查看完整内容↓api




# 读取配置文件微信

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)



若是你愿意,能够在上面对时间的判断中,加入一些其余你想要的,这样你女朋友就更开心啦!后期若是有时间,我将会加上以上节日问候功能。😀


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


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

# 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("没法识别你的操做系统类型,请本身设置")


设置完相关参数之后,咱们再来学习一下,如何天天教女朋友学英语:


# 获取每日励志精句

def get_message():

r = requests.get("open.iciba.com/dsapi/")

note = r.json()[ note ]

content = r.json()[ content ]

return note,content


只有天天的问候和节日问候是仅仅不够的,咱们必须时刻知道她的情绪指数,这里可使用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( bosonnlp.com/analysis/se… ,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)


教完女朋友学英语后,开始把咱们的关心语发给她。这里涉及到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"守护女朋友出问题了,赶忙去看看咋回事~")


最后,就是如何天天定时发关心语给女朋友的问题了。首先来个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()


使用教程



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 = 亲爱的,生日快乐,我已经给你准备好了礼物哦,明天你就能看到啦!(*@ο@*) 哇~


演示图片













完整源代码

github.com/shengqiangz…

别忘记天天多陪陪陪女朋友哈!

关注公众帐号

飞马会



往期福利关注飞马会公众号,回复对应关键词打包下载学习资料;回复“入群”,加入飞马网AI、大数据、项目经理学习群,和优秀的人一块儿成长!

回复 数字“1”下载从入门到研究,人工智能领域最值得一读的10本资料(附下载)

回复 数字“2”机器学习 & 数据科学必读的经典书籍,内附资料包!

相关文章
相关标签/搜索