python3对接聊天机器人API,python3聊天机器人,详情见http://


详情见http://api.qingyunke.com/
智能机器人API接口说明
支持功能:天气、翻译、藏头诗、笑话、歌词、计算、域名信息/备案/收录查询、IP查询、手机号码归属、人工智能聊天
接口地址:http://api.qingyunke.com/api.php?key=free&appid=0&msg=关键词
     key 固定参数free
     appid 设置为0,表示智能识别,可忽略此参数
     msg 关键词,请参考下方参数示例,该参数可智能识别,该值请经过 urlencode 处理后再提交
返回结果:{"result":0,"content":"内容"}
     result 状态,0表示正常,其它数字表示错误
     content 信息内容

代码如下,主要需要用到的知识点,就是json到dict的转换,这个地方很容易忽视,导致无法取出字典里的value。
代码中用while做了一个循环,主要是考虑可以找机器人聊聊天。其实更好的方式应该是def talk(),然后使用while True:talk()。
但最终没有这样做的原因是,因为不知道怎么在talk()中使用break可以跳出while循环。。。这一点待明天研究研究

 1 #python 3.6 2 #!/usr/bin/env python 3 # -*- coding:utf-8 -*- 4 __author__ = ‘BH8ANK‘ 5  6  7 ‘‘‘ 8 详情见http://api.qingyunke.com/ 9 智能机器人API接口说明10 支持功能:天气、翻译、藏头诗、笑话、歌词、计算、域名信息/备案/收录查询、IP查询、手机号码归属、人工智能聊天11 接口地址:http://api.qingyunke.com/api.php?key=free&appid=0&msg=关键词12      key 固定参数free13      appid 设置为0,表示智能识别,可忽略此参数14      msg 关键词,请参考下方参数示例,该参数可智能识别,该值请经过 urlencode 处理后再提交15 返回结果:{"result":0,"content":"内容"}16      result 状态,0表示正常,其它数字表示错误17      content 信息内容 18 19 ‘‘‘20 import urllib.request21 import time22 import ssl23 import json24 import string25 26 27 while True:28 29     # def talk():30     target = r‘http://api.qingyunke.com/api.php?key=free&appid=0&msg=‘31     print("=======================")32     keyword = input("想聊点儿什么:")33     if keyword == "exit":34         print("不聊算了,拜拜")35         break36     tmp = target + keyword37     url = urllib.parse.quote(tmp, safe=string.printable)38     page = urllib.request.urlopen(url)39     #print(url)40 41     # url = urllib.parse.quote(tmp,safe=string.printable)42     # url = url1.read().decode("utf-8")43     html = page.read().decode("utf-8")44     # print(html)45     # print(str(page))46 47     # page = urllib.request.urlopen(url)48     # html = page.read()49 50     # print(html)51     res = json.loads(html)#json转为dict,json.loads 用于解码 JSON 数据。该函数返回 Python 字段的数据类型52     # print(res)53     #return res54     # res = json.loads(html)55     # b = json.dumps(res, ensure_ascii=False, indent=4)56     # print(b)57     # dict_talk = json.loads(b)58     # print(dict_talk)59     # return dict_talk60     # a = res61     print(res[‘content‘])62 63 # if __name__ == "__main__":64 #     while True:65 #         a = talk()66 #         print(a[‘content‘])67 # print(a)68 # answer = urllib.parse.unquote(a)69 # answer = json.dumps(answer, ensure_ascii=False, indent=4)70 # res = json.loads(answer)71 # print(answer)72     # print()

这机器人,实在是太没节操了。。

技术分享图片

python3对接聊天机器人API

评论关闭