作者:云外孤岛

来源:https://www.cnblogs.com/cloudbird/p/

10534658.html

好不容易有了女朋友,可相处起来总是磕磕碰碰。

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

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

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

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

编写思路

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

首先,我们设置一个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)

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

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

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

# 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("http://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('https://bosonnlp.com/analysis/sentiment?analysisType=',data=postData)

data = response.text

# 情感评分指数(越接近1表示心情越好,越接近0表示心情越差)

now_mod_rank = (data.split(',')[0]).replace('[[','')

print("来自女友的消息:%s\n当前情感得分:%s\n越接近1表示心情越好,越接近0表示心情越差,情感结果仅供参考,请勿完全相信!\n\n" % (msg.text, now_mod_rank))

# 发送信息到文件传输助手

mood_message = u"来自女友的消息:" + msg.text + "\n当前情感得分:" + now_mod_rank + "\n越接近1表示心情越好,越接近0表示心情越差,情感结果仅供参考,请勿完全相信!\n\n"

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

演示图片

完整源代码

https://github.com/shengqiangzhang/examples-of-web-crawlers

项目持续更新中~

推荐阅读

京东也不甘当当后!买书4折优惠!

18 个 Python 高效编程技巧,Mark!

程序员如何用Python了解女朋友的情绪变化?相关推荐

  1. 程序员女朋友礼物python代码_@程序员,用 Python 给女朋友准备个儿童节礼物可好?...

    原标题:@程序员,用 Python 给女朋友准备个儿童节礼物可好? 作者 | 猿媛牧场 现在谈个恋爱.结个婚是真的炸啊.你 2.14 要送礼物,我认了,必须送啊,没有理由不送啊:3.14 白色情人节, ...

  2. 看老程序员如何用Python的SimPy库简化复杂的编程模型的

    @本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府 文章目录 随机的定义 设置商店:对模拟编程 用监控程序监视模拟 三人不欢:一些结果(以及它们意味着什么) 在我遇到 SimPy 包 ...

  3. python 中煤_程序员如何用Python科学炒股

    菜鸟学Python的第155篇原创文章 阅读本文大概需要3分钟 菜鸟独白 我是一个程序员,也是一个老股民,差不多有5年的股龄,经历过牛市也经历过熊市.起起伏伏,都没有怎么赚钱,至到去年我开始用Pyth ...

  4. 彩民看过来,看老程序员如何用Python数据分析双色球基于线性回归算法预测下期中奖结果示例

    @本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府 本文实例讲述了Python数据分析之双色球基于线性回归算法预测下期中奖结果.分享给大家供大家参考,具体如下: 前面讲述了关于双色球 ...

  5. 双十一!教你用Python感知女朋友的情绪变化?

    转自 | Python编程开发 文 | 云外孤岛 导读 程序员找个对象不容易啊,好不容易有了女朋友,可相处起来总是磕磕碰碰. 有时候,你很想关心她,但是你太忙了,以至于她一直抱怨,觉得你不够关心她.你 ...

  6. python女朋友_教你用Python感知女朋友的情绪变化!

    导读 程序员找个对象不容易啊,好不容易有了女朋友,可相处起来总是磕磕碰碰. 有时候,你很想关心她,但是你太忙了,以至于她一直抱怨,觉得你不够关心她.你暗自下决心,下次一定要准时发消息给她,哪怕是几句话 ...

  7. 教你用Python感知女朋友的情绪变化?

    Python实战社群 Java实战社群 长按识别下方二维码,按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群▲ 转自 | Python编程开发 文 | 云外孤岛 导 ...

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

    导读 程序员找个对象不容易啊,好不容易有了女朋友,可相处起来总是磕磕碰碰. 有时候,你很想关心她,但是你太忙了,以至于她一直抱怨,觉得你不够关心她.你暗自下决心,下次一定要准时发消息给她,哪怕是几句话 ...

  9. 如何用python感知女友的情绪变化?【单身人士的小贴士】

    嗨害大家好鸭!我是小熊猫❤ 程序员找个对象不容易啊,好不容易有了女朋友, 可相处起来总是磕磕碰碰. 有时候,你很想关心她,但是你太忙了,以至于她一直抱怨,觉得你不够关心她. 你暗自下决心,下次一定要准 ...

最新文章

  1. BEBLID:增强的高效局部图像特征描述符
  2. docker linux界面版,centos 7 Docker使用Portainer搭建可视化界面
  3. java httpclient 获取cookie_java – 从httpclient 3转换为httpclient 4(Cookie策略)
  4. 一个文件夹就是一个信息系统
  5. ML.NET Cookbook:(5)如何查看中间过程数据?
  6. OSI各层相关的协议
  7. matlab main函数_Python 和MATLAB 制作Gif 图像
  8. c语言 画线函数,c语言绘制函数曲线
  9. 毕啸南专栏 | 专访云迹科技CEO支涛:人类可能会变成半机器人
  10. 原生微信小程序添加背景音乐
  11. mac php编译freetype,mac OS X自带PHP环境,没有freetype的解决办法
  12. JDK官网下载速度缓慢解决方法
  13. 如何获取21版0.3米分辨率全球卫星影像
  14. 用Python 计算t分布的置信区间
  15. 知识蒸馏(Knowledge Distillation)
  16. Python中的图像处理(第六章)Python图像量化及采样处理(2)
  17. 中国为什么非要买美国国债
  18. 自动解锁Bitlocker加密硬盘
  19. 线性时不变(LTI)系统
  20. 若个人计算机主板上的内存条松动,电脑内存条松动对电脑的影响与解决办法

热门文章

  1. php用array_merge实现无限级分类
  2. Linux的phpize添加php扩展
  3. mysql 中 add2_计算器中的F,4,2,0,ADD2怎么调,MU键有什么用??急急急
  4. 微信小程序点击按钮实现弹出模态框
  5. vue.js2.0 新手开发_VueJs2.0建议学习路线
  6. cmake 离线安装mysql_(cmake)编译安装mysql
  7. python怎么安装scrapy_python2.7安装Scrapy
  8. qt checkbox 选中事件_丽声事件 | 十堰市第五届全国青少儿播音主持等级考试圆满落幕...
  9. python第7章实训作业_试图学Python赚外快的第7天
  10. 【uniapp】3d轮播图/堆叠轮播图/层叠轮播图