手把手教你使用Python生成图灵智能小伙伴,实现工作助手/闲聊功能
/1 前言/
在家闲着,做个小项目,基于Python,实现一个语聊小机器人,分享给大家。项目整体比较简单,官方文档介绍的非常详细,可快速上手。
/2 目标/
将图灵机器人放到桌面,实现工作助手/陪聊功能。
/3 涉及的库/
V1.0版本:requests、json
V2.0版本:requests、json、selenium(实现功能:如图灵返回结果为url,则自动打开网页)
/4 具体实现/
1、创建图灵机器人
图灵机器人的创建在网上有很多方法,因创建图灵机器人非常简单且与Python无关,此处不赘述。
注意:创建机器人后需要认证才能享受每天100条的免费回复。


2、网上有很多API接入教程,如果想随便玩玩的话,用小编的代码就可以了,想实现更多,可以看看API文档。
3、认证成功后找到最关键的apiKey参数。

4、开始写代码了--V1.0版本
首先引入需要的库
import requests
import json
from selenium import webdriver
url为官方文档中指定url
url = 'http://openapi.tuling123.com/openapi/api/v2'
添加请求头
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}
以下为输入内容,参考官方文档格式;
while True:
aa = input('我:')
data ={
"perception": {
"inputText": {
"text": aa
},
"selfInfo": {
"location": {
"city": "济南"}
}
},
"userInfo": {
"apiKey": "写自己的APIKEY",
"userId": "随便写几个数字和字母"
}
}
while true使聊天无限循环;
变量aa(随便起的)通过input()输入信息,会传入变量“text”中;
“city”填入你所在的城市,可修改为你所在的城市,可以详细到“street”;

userInfo为个人信息,apiKey填写你设置好的机器人的apiKey,userId实测可以随便写,比如‘123456’。
res = requests.post(url,headers=headers,data=json.dumps(data))
以上为解析数据,将字典格式的data变量转换为合法的json字符串传给post的data参数。
try:
print('机器人:'+res.json()['results'][0]['values']['text'])
if aa == '退出':
break
except:
print('机器人:'+res.json()['results'][0]['values']['url'])
以上为输出数据。
如果返回值不是‘text’,则返回‘url’;
如果回复“退出”,则退出循环。

以上为全部代码。

以上为V1.0效果图,可实现查天气、查列车班次、查快递、查酒店、查菜谱、绕口令等功能。
5、V2.0版本
首先安装selenium库,下载好谷歌浏览器。

将chromedriver文件放到Python安装文件下,chromedriver文件可在文末进行获取下载方式。
引入相关库
import requests
import json
from selenium import webdriver
2.0相比1.0仅需添加最后三行代码,三行代码分别是获取url,打开浏览器,用浏览器打开该url,非常简单是不是!
except:
print('机器人:' + res.json()['results'][0]['values']['url'])
url_1 =res.json()['results'][0]['values']['url']
driver = webdriver.Chrome()
driver.get(url_1)




以上是效果展示,非常方便是不是!
最后打包成.exe文件(cmd运行 pyinstaller -F 代码源文件的绝对路径)放到桌面,或者分享给TA!
从此不管风雨,永远有可爱的图灵机器人陪着你(你的TA)!
/5 总结/
1、项目整体比较简单,官方文档介绍的非常详细,可快速上手;
2、Webdriver非常实用,很多反爬做的比较好的网站可以用此库破解;
3、官方还提供更多功能等着你去体验

实测微信个人号接入功能,通过微信调用图灵机器人更加方便,但是官方提供的两个三方程序一个收费一个需要挂机。
4、最后感谢图灵机器人,让我们普通人有免费渠道体验AI,体验科技带给人类生活的便捷!

5、需要本文源码和chromedriver.exe的小伙伴。请在公众号后台回复“图灵”二字进行获取。原创不易,感谢您的支持!
6、需要学习更多关于Python网络爬虫的知识,可以前往网站:http://pdcfighting.com/
想学习更多Python网络爬虫与数据挖掘知识,可前往专业网站:http://pdcfighting.com/
手把手教你使用Python生成图灵智能小伙伴,实现工作助手/闲聊功能的更多相关文章
- 手把手教你吧Python应用到实际开发 不再空谈悟法☝☝☝
手把手教你吧Python应用到实际开发 不再空谈悟法☝☝☝ 想用python做机器学习吗,是不是在为从哪开始挠头?这里我假定你是新手,这篇文章里咱们一起用Python完成第一个机器学习项目.我会手把手 ...
- 手把手教你用Python搭建自己的量化回测框架【均值回归策略】
手把手教你用Python搭建自己的量化回测框架[均值回归策略] 引言 大部分量化策略都可以归类为均值回归与动量策略.事实上,只有当股票价格是均值回归或趋势的,交易策略才能盈利.否则,价格是随机游走的, ...
- 手把手教你吧Python应用到实际开发 不再空谈悟法✍✍✍
手把手教你吧Python应用到实际开发 不再空谈悟法 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问 ...
- 手把手教你把Python应用到实际开发 不再空谈语法
手把手教你把Python应用到实际开发 不再空谈语法 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问 ...
- 手把手教你使用Python爬取西刺代理数据(下篇)
/1 前言/ 前几天小编发布了手把手教你使用Python爬取西次代理数据(上篇),木有赶上车的小伙伴,可以戳进去看看.今天小编带大家进行网页结构的分析以及网页数据的提取,具体步骤如下. /2 首页分析 ...
- Python数据分析:手把手教你用Pandas生成可视化图表
大家都知道,Matplotlib 是众多 Python 可视化包的鼻祖,也是Python最常用的标准可视化库,其功能非常强大,同时也非常复杂,想要搞明白并非易事.但自从Python进入3.0时代以后, ...
- 手把手教你用Python抓取AWS的日志(CloudTrail)数据
数据时代,利用数据做决策是大数据的核心价值. 本文手把手,教你使用python进行AWS的CloudTrail配置,进行日志抓取.进行数据分析,发现数据价值! 如今是云的时代,许多公司都把自己的IT架 ...
- 【震惊】手把手教你用python做绘图工具(一)
在这篇博客里将为你介绍如何通过numpy和cv2进行结和去创建画布,包括空白画布.白色画布和彩色画布.创建画布是制作绘图工具的前提,有了画布我们就可以在画布上尽情的挥洒自己的艺术细胞. 还在为如何去绘 ...
- 手把手教你用python打造网易公开课视频下载软件5-python生成exe程序
python程序生成exe文件,使用的是py2exe扩展包,下面写下具体的步骤: 第一步:新建conver2exe.py,内容如下: #coding:utf-8 from distutils.core ...
随机推荐
- SpringBoot—自定义线程池及并发定时任务模板
介绍 在项目开发中,经常遇到定时任务,今天通过自定义多线程池总结一下SpringBoot默认实现的定时任务机制. 定时任务模板 pom依赖 <dependencies> <dep ...
- NodeJS——模块全局安装路径配置以及关于supervisor的问题解释
下载安装NodeJS后,在自己选择的路径下会有如下的文件: 默认情况下NodeJS安装会同时安装npm(模块管理器:用于管理用户require的模块,有全局和本地两种). 注:全局:执行npm in ...
- Rocket - config - Parameters
https://mp.weixin.qq.com/s/uLEr9gAFaMDIXa8S9xJVTw 介绍配置类Parameters及其伴生对象的实现. 参考链接: https://docs.q ...
- Java实现 LeetCode 812 最大三角形面积 (暴力)
812. 最大三角形面积 给定包含多个点的集合,从其中取三个点组成三角形,返回能组成的最大三角形的面积. 示例: 输入: points = [[0,0],[0,1],[1,0],[0,2],[2,0] ...
- Java实现 LeetCode 762 二进制表示中质数个计算置位(位运算+JDK的方法)
762. 二进制表示中质数个计算置位 给定两个整数 L 和 R ,找到闭区间 [L, R] 范围内,计算置位位数为质数的整数个数. (注意,计算置位代表二进制表示中1的个数.例如 21 的二进制表示 ...
- Java实现 LeetCode 652 寻找重复的子树(两个map的DFS)
652. 寻找重复的子树 给定一棵二叉树,返回所有重复的子树.对于同一类的重复子树,你只需要返回其中任意一棵的根结点即可. 两棵树重复是指它们具有相同的结构以及相同的结点值. 示例 1: 1 / \ ...
- Java实现 蓝桥杯VIP 算法提高 计算器
算法提高 计算器 时间限制:1.0s 内存限制:256.0MB [问题描述] 王小二的计算器上面的LED显示屏坏掉了,于是他找到了在计算器维修与应用系学习的你来为他修计算器. 屏幕上可以显示0~9的数 ...
- Java实现 蓝桥杯VIP 算法提高 打水问题
算法提高 打水问题 时间限制:1.0s 内存限制:512.0MB 问题描述 N个人要打水,有M个水龙头,第i个人打水所需时间为Ti,请安排一个合理的方案使得所有人的等待时间之和尽量小. 输入格式 第一 ...
- java实现机器人行走
某少年宫引进了一批机器人小车.可以接受预先输入的指令,按指令行动.小车的基本动作很简单,只有3种:左转(记为L),右转(记为R),向前走若干厘米(直接记数字). 例如,我们可以对小车输入如下的指令: ...
- java实现数组转置
** 数组转置** 编写程序将2行3列的数组行列置换复制给3行2列的数组(即数组的转置).已经写了如下代码,请完善之: class y{ public static void main(String[ ...