博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
教你如何用 19 行代码搭建一个女朋友!
阅读量:4094 次
发布时间:2019-05-25

本文共 1536 字,大约阅读时间需要 5 分钟。

公众号关注 “GitHubDaily”

设为 “星标”,每天教你学编程!

许多同学经常私信跟小G抱怨说,学编程好枯燥啊,经常学到一半就跑去刷剧、打王者混分了。其实,你会这么想,是因为你还没找到一种比较有趣的学习方式。

今天,便跟大家分享一个比较有趣的学习案例,教你如何通过 Python 你可以快速搭建一个能响应指定回复的异地恋女友。

看到这里,你是不是顿时感觉眼前一亮,立刻来了学习兴致了呢?

别急,下面放上附上详细教程,教教大家怎么搞。

准备工作

准备一个微信小号

首先你要有一个闲置的微信号,最好是绑定了银行卡,身份信息不敏感的那种,因为需要模拟网页登录。如果微信禁止了你的微信号的网页登录,那这个女朋友计划就凉凉了。

更改备注名

给闲置微信号起一个别开生面的备注名,比如小字辈的:小仙女、小可爱、小公主等等。

更改头像

找一些大家一眼就能看出来是情侣头像的头像,分别给你的两个微信号换上。准备工作大功告成。

环境搭建

你需要一个 Python 3+ 版本,用包管理工具或者 Docker 安装好 wxpywxpy 是一个封装好的微信个人号接口,在 itchat 的基础上,通过大量接口优化提升了模块的易用性。

下面是官方推荐的安装方式:

  1. 从 PYPI 官方源下载安装 (在国内可能比较慢或不稳定):

  1. 从豆瓣 PYPI 镜像源下载安装 (推荐国内用户选用):

现阶段我们只需要实现一个 rule-based 的女友,其他 NLP 或者 ML/DL 库暂时不需要。

另外你还需要一个编辑器,这个就不多做介绍了。

女友框架搭建

先来搭建一个女友的框架。

框架很好用,简单介绍一下,Bot 实例生成时的属性  cache_path = True  确保再缓存当中保持登录状态,避免重复登录,毕竟女朋友不能经常掉线嘛。

sex 参数中,1 表示男性,2表示女性。

装饰器 @bot.register 的作用是指明它下面的函数 reply_bf  只有在消息是 boyfriend 或者自己发来的,并且是文本类的消息时才会调用,同时允许发消息给自己,方便调试。

msg.sender 在当前案例中会返回一个用户对象,再调用该对象的 send_msg 方法进行回复,现在我只是简单的让女朋友把我说的话重复了一遍。

定义规则

规则可以写成一个对象的形式,key 是规则,使用正则表达式进行模糊匹配,value 是响应内容,这部分内容可以根据自己的需求设计,以下是一个范例:

之后更改一下回复的逻辑:

把 except_self 改为 True ,避免回复别人消息的时候重复调用函数。在函数里遍历规则列表,匹配成功后返回指定的相应,如果全都没匹配到就返回事先定义好的一个默认回复。

完整代码如下:

测试

执行这段代码,扫码登录,简单的女朋友就大功告成啦,以下是一个测试:

这里我用了自己的微信号,找了朋友帮我测试。朋友是一个一米九的高大汉子,看着这段对话我总感觉哪里不对劲。

算了,不管了,一个简单的女朋友已经做好了,仔细想想,自己做的女朋友又温柔又对自己口味,再搭配一个女神的照片当作头像,还找啥对象?建议广大单身的程序员同胞们都上手做一个,即便每天都刷题,女朋友也不会跟你分手。

当然现在的女朋友还不够智能,后面我们再尝试如何用 NLP 相关技巧让女朋友智能起来。

推荐阅读:又一开源神器诞生:可快速在 iOS 设备上跑 Windows、Linux 等操作系统!「00 后黑话破解器」火爆 GitHub,这波操作我给满分!超全汇总!B 站上有哪些值得学习的 AI 课程...小姐姐用动画图解 Git 命令,这也太秀了吧?!逛 GitHub 没看过这 10 个开源项目,绝对血亏...

转载地址:http://buvii.baihongyu.com/

你可能感兴趣的文章
linux 内核—进程的地址空间(1)
查看>>
存储器管理(二)
查看>>
开局一张图,学一学项目管理神器Maven!
查看>>
【数组】搜索旋转排序数组(含重复元素)
查看>>
【动态规划】最长上升子序列
查看>>
【排序】快速排序
查看>>
Android中的Binder(二)
查看>>
Framework之View的工作原理(一)
查看>>
Web应用架构
查看>>
设计模式之策略模式
查看>>
深究Java中的RMI底层原理
查看>>
用idea创建一个maven web项目
查看>>
Matlab批量读入文件
查看>>
超限学习机(ELM)
查看>>
用Adobe Acrobat实现PDF文档压缩
查看>>
双击程序没反应的解决办法之一
查看>>
图像的相位与振幅
查看>>
data analysis and application第三次作业
查看>>
Burp Suite 的安装方法
查看>>
gridView获取指定列,焦点行,指定行的数据
查看>>