python关键词对联_百度AI攻略(智能春联)

首先认证授权:
在开始调用任何API之前需要先进行认证授权,具体的说明请参考:
获取Access Token
grant_type:?必须参数,固定为client_credentials;
client_id:?必须参数,应用的API Key;
client_secret:?必须参数,应用的Secret Key;
例如:
具体Python3代码如下:
# -*- coding: utf-8 -*-
#!/usr/bin/env python
import urllib
import json
#client_id 为官网获取的AK, client_secret 为官网获取的SK
client_id =【百度云应用的AK】
client_secret =【百度云应用的SK】
#获取token
def get_token():
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + client_id + '&client_secret=' + client_secret
request = urllib.request.Request(host)
request.add_header('Content-Type', 'application/json; charset=UTF-8')
response = urllib.request.urlopen(request)
token_content = response.read()
if token_content:
token_info = json.loads(token_content)
token_key = token_info['access_token']
return token_key
注:请使用方注意接口使用的合规性,不得利用该接口从事不合规场景的应用;如有违规使用,一经发现,AI开放平台有权立即停止提供服务
请求说明
HTTP方法: POST
URL参数:
参数 值
access_token 通过API Key和Secret Key获取的access_token,参考“Access Token获取”
Header如下:
参数 值
Content-Type application/json
Body请求示例:
{
"text": "百度",
"index": 0
}
请求参数
参数 是否必选 类型 描述
text 是 string 字符串(限5字符数以内)即春联的主题
Index 否 int 整数 默认为数值为0,即第一幅春联。每换一次,数值加1即可,一定数量后会返回之前的春联结果。
返回参数
参数 类型 描述
log_id uint64 请求唯一标识码
first string 春联上联:成7-9个字的上联
second string 春联下联:生成7-9个字的春联下联
center string 春联横批:生成4个字的春联横批
提示: 请求body为json字符串,无须对body进行urlencode(百分号编码)
Python3调用代码如下:
#调用百度智能春联接口
def get_couplets(content):
token=get_token()
url = 'https://aip.baidubce.com/rpc/2.0/nlp/v1/couplets'
params = dict()
params['index'] = 0
params['text'] = content
params = json.dumps(params).encode('utf-8')
access_token = token
url = url + "?access_token=" + access_token
request = urllib.request.Request(url=url, data=https://www.it610.com/article/params)
request.add_header('Content-Type', 'application/json')
response = urllib.request.urlopen(request)
content = response.read()
if content:
content=content.decode('utf-8')
#print (content)
data = https://www.it610.com/article/json.loads(content)
data=https://www.it610.com/article/data['couplets']
print ('上联:',data['first'])
print ('下联:',data['second'])
print ('横批:',data['center'])
get_couplets('社区')
调用结果:
上联: 和谐社会春光好
下联: 富贵人家福祉多
横批: 大好春光
建议:
1,建议统一文本处理返回的编码,现在有的是UTF-8(比如春联)有的是GB2312(比如文本纠错),使用起来不太方便。
2,实际返回JSON为:{"couplets":{"center":"大好春光","first":"和谐社会春光好","second":"富贵人家福祉多"}}与API帮助给的例子Json:
{
"log_id": 7310552510652020090,
"first": "喜气千年千里新",
"second": "清风百度百花艳",
"center": "千云祥集"
}
【python关键词对联_百度AI攻略(智能春联)】不太一样,建议修改API帮助

    推荐阅读