跟着鬼哥学爬虫-10-python微信-5-加上了人工智能回复!

其实人工智能回复,现在网上有很多开源的机器学习,AI学习的框架,但是最重要的一点就是没有语料,也就是没有相互回答的数据内容。

所以这个时候,我们就要想用一下其他开源的接口。

于是,这里我们用的是小黄鸡的接口,也就是simsim。

但是它现在变成了收费的版本,免费只可以用7天的,所以这里我找到了另外国内一个网站支持小黄鸡接口的。

http://www.xiaodoubi.com/simsimiapi.php?msg=

直接通过网址的get请求,就可以获取得到相应的数据了,所以往下看代码吧。

#我定义的机器人的自动回复
def getAutoRobotReply(msg):text1=msg['Text'][8:].strip()if not re.match(ur"^[0-9a-zA-Z\s\u4e00-\u9fa5]+$", text1):return '@' + msg['ActualNickName']+' 请发中文,英文,其他正常字符,摸摸大'txt = urllib.urlencode({'msg': text1})if len(text1)<100:url = 'http://www.xiaodoubi.com/simsimiapi.php?' + txtprint urlresponse = urllib2.urlopen(url)html = response.read()return '@' + msg['ActualNickName']+' '+htmlelse :return '我不懂你在说什么'

这里,是作为群聊回复的机器人自动回复。

text1=msg['Text'][8:].strip()

这一行代码,也就是我判断了是否有人圈我,也就是 @听鬼哥说故事 ,正常消息后面有一个空格,所以我判断了8个字符,截取后面的数据。

然后就是这一行代码了:

if not re.match(ur"^[0-9a-zA-Z\s\u4e00-\u9fa5]+$", text1):

这一行代码判断的是不是发送的消息为中文,英文,数字。这里特殊字符,表情都不识别可能会造成程序崩溃,所以加上的这个正则表达式。

下面是url编码,这里不用说了,就是怕有时候访问网址中出现问题,做的处理。

    if len(text1)<100:

这里大家肯定会很疑惑,为什么判断字符数字小于100。原因就是因为有时候我们用的这个接口,如果输入太大字符的话,将无法识别,或者超过链接时间,所以这里加上字符100一般就是我们正常聊天的内容。毕竟发短信的话,都是72的字符算一条短信的。

return '@' + msg['ActualNickName']+' '+html

这里就是返回数据,谁发送的消息,我们加上了@和ActualNickName,也就是在我们群里备注的名称。

效果图再贴一下:

跟着鬼哥学爬虫-10-python微信-5-加上了人工智能回复!相关推荐

  1. 跟着鬼哥学爬虫-5-更新妹子图库质量,提高微信群聊发图速度

    跟着鬼哥学爬虫-5-更新妹子图库质量,提高微信群聊发图速度 第三篇中的图库,群里大家都说质量稍微次一点,现在重新爬了个网站更新一下. 比上一篇的代码也优化了一点,对于自动保存的文件名,采用数字方式直接 ...

  2. 跟着鬼哥学爬虫-3-美女图片!!!

    这一节课,是群里很多娃在等待的课程. 通过前面两篇文章的学习,我们对BeautifulSoup4的简单使用有了了解. 了解了使用这个爬虫的核心是熟悉分析清楚html标签,一些css的简单知识,找准了标 ...

  3. 跟着鬼哥学so改动,二,进行篇

    图/文  听鬼哥说故事 继续上文的内容---------------------------------- 0x1:測试文件的编写 经过上一篇文章的基础学习,如今我们開始进行是用的部分. 既然我们能够 ...

  4. 跟着鬼哥学PyQtPart.2

    <span style="font-family: Arial, Helvetica, sans-serif;">0x1:</span><span s ...

  5. 跟着鬼哥学so改动,一,准备篇

    图/文 听鬼哥说故事 闲话少说,so的改动,重要性大家都知道,这里从头编写so文件,分析so文件,改动so文件,打算做一个系列的教程,当然,主要是看时间同意. android的sdk配置以及ndk环境 ...

  6. 跟着鬼哥学so修改,一,准备篇

    图/文 听鬼哥说故事 闲话少说,so的修改,重要性大家都知道,这里从头编写so文件,分析so文件,修改so文件,打算做一个系列的教程,当然,主要是看时间允许. android的sdk配置以及ndk环境 ...

  7. 跟着鬼哥学PyQt Part.1

    中秋几天不出去玩了,留在家里把PyQt的相关资料学习一下,这里仅记录一下学习的相关记录,留下存档,便于以后翻阅.主要的目的是编写一个反编译和回编译的工具,稍后可以慢慢随着需求补充上一些搜索和修改的功能 ...

  8. 跟着鬼哥学PyQtPart.4

    中秋假期转眼已经过去两天了,我们的学习也在不断向前,经过前面三篇文章的学习,我们已经可以做出来一个简单的反编译apk的工具了. 为了更方便的使用我们自己编写的工具,所以我们对于第三篇文章中的searc ...

  9. 跟着鬼哥学PyQtPart.3

    本文我们主要是创建一个window选择文件,从而来确定apk的路径,然后点击反编译按钮来对其进行反编译. 0x1:寻找相关api代码 QFileDialog类提供了类似的其他静态函数,如下表,通过这些 ...

最新文章

  1. linux--nfs 网络文件共享
  2. 【原创】用J-LINK烧写ARM开发板的Nor Flash
  3. 我想和你一起去这样一个地方
  4. [翻译]编写高性能 .NET 代码 第一章:性能测试与工具 -- 选择什么来衡量
  5. vs怎么写html5页面,怎么使用vscode写html5
  6. Entity Framework 4.1 (强转)
  7. 【嵌入式Linux】STM32MP157开发板上Linux启动流程
  8. html中横线中间加字_干货|学术论文中的“三线表”如何绘制?
  9. xshell用ssh连接VMware中的ubuntu
  10. 云计算虚拟化之Docker上如何安装Mongodb?
  11. 软件工程——(2)软件项目管理 思维导图
  12. 计算机领域CCF推荐会议列表+
  13. Debian vmtools安装后 不能复制粘贴文件
  14. 程序自我保护 c语言编程,外文翻译基于C语言的MIS程序库设计外文翻译译文(样例3)...
  15. 选型宝分享上市公司女CIO亲身讲述BPM系统选型历程
  16. Zotero 5.0 + 坚果云同步盘 + papership 配置教程
  17. C# TreeView基本操作及其节点增,删,改(3级节点)
  18. 使用excel打开文件,修正长度过长的数字后几位变为0的问题
  19. 两道小学生的题----1000: 梦里的难题、1002: 拳皇
  20. java中ceil_Java ceil()方法

热门文章

  1. Vivado 除法IP的使用
  2. 计算机的发展英语思维导图,国外对思维导图概念图的研究发展
  3. 百度百家:《京东物流开放》《内容创业从来就没有春天》
  4. 微信红包高级接口JAVA实现
  5. Qt/C++编写可视化大屏电子看板系统6-窗体打开关闭
  6. 智能工厂以MES系统为基础,实现"信息化减人,自动化换人"
  7. python--文件的相关操作
  8. 洛克王国服务器维护中,帮助中心-洛克王国-Roco Kingdom-官方网站-腾讯儿童-点亮魔法,放飞童年...
  9. 车险赔付率分析报告_对车险赔付率高的原因分析
  10. 用scrapy爬虫设置了ip代理报错是怎么回事