当前位置:   article > 正文

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

机器学习 人工回复

跟着鬼哥学爬虫-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?' + txt

print url

response = urllib2.urlopen(url)

html = response.read()

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

else :

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,也就是在我们群里备注的名称。

效果图再贴一下:

0818b9ca8b590ca3270a3433284dd417.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/651017
推荐阅读
相关标签
  

闽ICP备14008679号