代码语言:javascript复制
详情见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循环。。。这一点待明天研究研究
代码语言:javascript复制 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()
这机器人,实在是太没节操了。。