记得2个月前写的一个小东西,可以很简单的自动生成一个古诗和对联,古诗不是我之前的那种藏头诗。但是却是通过百度大脑自己写的,蛮有才华的。因为是使用了百度第三方提供的API接口,因此需要一个参数。首先需要有个百度账号,然后登录百度云(非百度网盘)。
登录之后点击“控制管理台”,然后建立一个“自然语言处理”的应用。
建立一个应用之后可以点击查看该应用的'AppID'、'API Key'、'Secret Key'的参数。这里只需要API key和Secret key这两个参数来生成一个新的参数token。
#coding:utf-8
import json
import urllib2
client_id = '****' #应用的apiKey
client_secret = '****' #应用的secretKey
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id='\
+client_id+'&client_secret='+client_secret
request = urllib2.Request(host)
request.add_header('Content-Type', 'application/json; charset=UTF-8')
response = urllib2.urlopen(request)
content = response.read()
if (content):
content = json.loads(content)
print(content['refresh_token'])
上面代码打印出来的就是token参数,接着运行下面代码。
#coding:utf-8
import json
import requests
body = {
'text':'',
'index':0
}
headers = {
'Content-Type':'application/json',
}
token = '*****' #我的token参数
# function: 获取古诗
def poemGet(keyword):
body['text'] = keyword
url = 'https://aip.baidubce.com/rpc/2.0/nlp/v1/poem'+'?access_token='+token
param = json.dumps(body).encode('utf-8')
try:
result = requests.post(url=url,headers=headers,data=param)
print(result.json()['poem'][0]['title']) # 题目
content = result.json()['poem'][0]['content'].split('\t')
for i in range(len(content)):
print(content[i])
except:
print('暂时没有找到')
# function: 获取对联
def coupletsGet(keyword):
body['text'] = keyword
url = 'https://aip.baidubce.com/rpc/2.0/nlp/v1/couplets'+'?access_token='+token
param = json.dumps(body).encode('utf-8')
result = requests.post(url=url,headers=headers,data=param)
try:
result = requests.post(url=url,headers=headers,data=param)
print(result.json()['couplets']['center']) # 横批
print(result.json()['couplets']['first']) # 上联
print(result.json()['couplets']['second']) # 下联
except:
print('暂时没有找到')
接下来就是测试效果啦!!
用“露露”关键字做测试,得到的古诗是:
露重风轻霜露冷
蜻蜓点水戏荷花
庄周蝴蝶翩跹舞
岸柳鸳鸯乐采茶
对联则是:
喜迎新春
玉露雄鸡歌盛世
金露绿柳报新春
功能主要是显示AI才华,没有藏头诗适用。接下来就给大家发一个可以自己去训练的自己的藏头诗生成器代码,码云链接。