Python生成图灵智能小助手,打发你工作生活中无聊时间

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理

本文章来自腾讯云 作者:Python进阶者

想要学习Python?有问题得不到第一时间解决?来看看这里“1039649593”满足你的需求,资料都已经上传至文件中,可以自行下载!还有海量最新2020python学习资料。
点击查看
在这里插入图片描述

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 requestsimport jsonfrom 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": "随便写几个数字和字母"        }    }

 

whiletrue使聊天无限循环;

变量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 requestsimport jsonfrom 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)

 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

posted @ 2021-01-16 13:48  锦麟  阅读(199)  评论(0编辑  收藏  举报