前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python3对接聊天机器人API

python3对接聊天机器人API

作者头像
BH8ANK
发布2021-01-29 12:15:45
8940
发布2021-01-29 12:15:45
举报
文章被收录于专栏:云技术分享云技术分享
详情见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 固定参数free
13      appid 设置为0,表示智能识别,可忽略此参数
14      msg 关键词,请参考下方参数示例,该参数可智能识别,该值请经过 urlencode 处理后再提交
15 返回结果:{"result":0,"content":"内容"}
16      result 状态,0表示正常,其它数字表示错误
17      content 信息内容 
18 
19 '''
20 import urllib.request
21 import time
22 import ssl
23 import json
24 import string
25 
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         break
36     tmp = target + keyword
37     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 res
54     # 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_talk
60     # a = res
61     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()

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-04-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
智能识别
腾讯云智能识别(Intelligent Identification,II)基于腾讯各实验室最新研究成果,为您提供视频内容的全方位识别,支持识别视频内的人物、语音、文字以及帧标签,对视频进行多维度结构化分析。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档