详情见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循环。。。这一点待明天研究研究
 #python 3.6
#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'BH8ANK' '''
详情见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 信息内容 '''
import urllib.request
import time
import ssl
import json
import string while True: # def talk():
target = r'http://api.qingyunke.com/api.php?key=free&appid=0&msg='
print("=======================")
keyword = input("想聊点儿什么:")
if keyword == "exit":
print("不聊算了,拜拜")
break
tmp = target + keyword
url = urllib.parse.quote(tmp, safe=string.printable)
page = urllib.request.urlopen(url)
#print(url) # url = urllib.parse.quote(tmp,safe=string.printable)
# url = url1.read().decode("utf-8")
html = page.read().decode("utf-8")
# print(html)
# print(str(page)) # page = urllib.request.urlopen(url)
# html = page.read() # print(html)
res = json.loads(html)#json转为dict,json.loads 用于解码 JSON 数据。该函数返回 Python 字段的数据类型
# print(res)
#return res
# res = json.loads(html)
# b = json.dumps(res, ensure_ascii=False, indent=4)
# print(b)
# dict_talk = json.loads(b)
# print(dict_talk)
# return dict_talk
# a = res
print(res['content']) # if __name__ == "__main__":
# while True:
# a = talk()
# print(a['content'])
# print(a)
# answer = urllib.parse.unquote(a)
# answer = json.dumps(answer, ensure_ascii=False, indent=4)
# res = json.loads(answer)
# print(answer)
# print()

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

python3对接聊天机器人API的更多相关文章

  1. QQ 聊天机器人API

    QQ机器人是腾讯陆续推出的的人工智能聊天机器人的总称. 都说小Q妹妹聪明好学,我们能够教她说话.也能够请他帮忙查询邮编.手机号,或者解释成语.翻译成语,据说她还会查询手机号码归属地.应用科学计算器. ...

  2. python3+qqBot+图灵机器人实现qq聊天机器人

    原理: 通过Python3的qqBot开源库,基于腾讯的smartQQ协议登录个人QQ,实现监控.收集QQ消息,进而通过图灵机器人API接入方式实现自动聊天. 零.前期准备: 1.Python3 2. ...

  3. 使用图灵机器人API实现聊天机器人

    使用图灵机器人的API需要先注册,获取key才行,这我就不说了,自己到http://www.tuling123.com/注册一个账号即可. 下面就是一个简单的python调用API实现聊天机器人的简易 ...

  4. 日常API之图灵聊天机器人

    机器人是什么?可以吃吗? 嗯,他可以和你聊天,不能吃哦. 首先需要到www.tuling123.com注册一只KEY,你才能调用机器人API哦 一.布局 (控制台程序可以跳过这一步)本文以WPF为示例 ...

  5. 使用图灵机器人api搭建微信聊天机器人php实现

    之前通过hook技术实现了微信pc端发送消息功能,如果在结合图灵机器人就能实现微信聊天机器人. 代码下载:http://blog.yshizi.cn/131.html 逻辑如下: 下面我简单介绍一下步 ...

  6. 人工智能不过尔尔,基于Python3深度学习库Keras/TensorFlow打造属于自己的聊天机器人(ChatRobot)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_178 聊天机器人(ChatRobot)的概念我们并不陌生,也许你曾经在百无聊赖之下和Siri打情骂俏过,亦或是闲暇之余与小爱同学谈 ...

  7. 微信的自动回复&接入聊天机器人

    今天偶尔发现了一个有趣的python库--itchat,可以实现微信的自动回复.防撤回,结合图灵机器人还能实现聊天机器人的作用 简单介绍一下配置与工具 win7旗舰版  pycharm  python ...

  8. Python进阶开发之网络编程,socket实现在线聊天机器人

    系列文章 √第一章 元类编程,已完成 ; √第二章 网络编程,已完成 ; 本文目录 什么是socket?创建socket客户端创建socket服务端socket工作流程图解socket公共函数汇总实战 ...

  9. 【自然语言处理篇】--Chatterbot聊天机器人

    一.前述 ChatterBot是一个基于机器学习的聊天机器人引擎,构建在python上,主要特点是可以自可以从已有的对话中进行学(jiyi)习(pipei). 二.具体 1.安装 是的,安装超级简单, ...

随机推荐

  1. IIS中启用CGI来托管PHP和Python网站

    IS中如果要托管PHP和Python的web站点,需要用到CGI来处理HTTP请求,默认情况IIS中是没有CGI模块的,需要在Windows server的服务器管理器(Server Manager) ...

  2. LeetCode21.合并两个有序链表 JavaScript

    将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1->3->4 输出:1->1->2- ...

  3. oracle整理

    1.安装oracle数据库2.创建数据库实例(可选)3.创建用户.角色.授权(可选) 查询数据库名:select name,dbid from v$database;查询实例名 :select ins ...

  4. vue 样式渲染,添加删除元素

    <template> <div> <ul> <li v-for="(item,index) in cartoon" :key=" ...

  5. yii学习笔记(4),获取请求数据的request组件

    yii在控制器中获取请求数据需要通过request组件来完成 <?php namespace app\controllers; use yii; use yii\web\Controller; ...

  6. ruby 字符串加密

    str = 'This is a test.rb!' #DES加密 puts str.crypt('salt') #MD532位加密 require 'digest' puts Digest::MD5 ...

  7. PC环境搭建——虚拟机配置双网卡

    Vmware虚拟机三种网络模式详解 TCP/IP协议四层模型: 应用层 传输层 网络层 物理接口 桥接模式时,主机和虚拟机在同一个网段,之间可以相互访问 NAT模式时,主机和虚拟机不在同一网段,之间通 ...

  8. lambda方法的引用与构造方法引用

    方法的引用 /** * @auther hhh * @date 2018/12/29 22:37 * @description */ public class ObjectMethodUse { /* ...

  9. (数据科学学习手札42)folium进阶内容介绍

    一.简介 在上一篇(数据科学学习手札41)中我们了解了folium的基础内容,实际上folium在地理信息可视化上的真正过人之处在于其绘制图像的高度可定制化上,本文就将基于folium官方文档中的一些 ...

  10. 【EXCEL】XMLファイルを開く方法(XML文件打开方法)

    前言 XMLとは:Extensible Markup Language(エクステンシブル マークアップ ランゲージ)は.基本的な構文規則を共通とすることで.任意の用途向けの言語に拡張することを容易とし ...