手把手教你使用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’;
如果回复“退出”,则退出循环。
以上为全部代码。
image
以上为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/

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
【面试题】Java类初始化和实例初始化的顺序
【面试题】Java类初始化和实例初始化的顺序 一、类初始化1、一个类要创建实例需要先加载并初始化该类(1)main方法所在的类需要先加载和初始化 copyclass Father{ private static int i = method(); private static int method() { System.out.println("(2)"); return 1; } } public class Son{ private static int i = method(); private static int method() { System.out.println("(1)"); return 1; } public static void main(String[] args) { } } 输出结果:(1)上述的例子Father类和Son类之间没有继承关系,但是Son类当中有main方法,因此根据上述规则“main方法所在的类需要先加载和初始化”,可得结果和输出结果相符,都是输出(1),且这时候只有类初始化过程。 2、一个子类要初始化需要先初始化父类copyclas...
- 下一篇
Elastic-Job源码解读
写在前面 目前公司使用的作业调度工具是Elastic-Job,版本2.1.5,三月份因为失效转移配置出过一次线上事故,排查问题的过程中粗略的读了一下源码,刚好借此机会深入理解一下Elastic-Job 。 总体架构 注:图片来自https://github.com/elasticjob/elastic-job-lite 概述 Elastic-Job是一个分布式调度解决方案,由两个相互独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成。Elastic-Job-Lite定位为轻量级无中心化解决方案,使用jar包的形式提供分布式任务的协调服务。Elastic-Job-Cloud使用Mesos + Docker的解决方案,额外提供资源治理、应用分发以及进程隔离等服务。(本文不讨论) Elastic-Job核心组件:quartz、Zookeeper。 quartz的角色是调度每台机器上的任务(即每台机器上的分片任务何时执行) Zookeeper则是分布式调度中心 功能 Elastic-Job-Lite分布式调度协调弹性扩容缩容失效转移错过执行作业重触发作业分片一...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Hadoop3单机部署,实现最简伪集群
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- 2048小游戏-低调大师作品