输入关键词,让程序来为你作诗吧!!!

1,466 阅读2分钟

我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第2篇文章,点击查看活动详情  

🍊作者简介:秃头小苏,致力于用最通俗的语言描述问题

🍊往期回顾:目标检测系列——Faster R-CNN原理详解    还不懂目标检测嘛?一起来看看Faster R-CNN源码解读

🍊近期目标:拥有10000粉丝

🍊支持小苏:点赞👍🏼、收藏⭐、留言📩

 

  写这篇文章的原因的是之前有过一个沸点活动,就是写诗领月饼类似的。于是我想着大学时好像写过类似的代码,于是就一顿翻箱底,终于找到了,于是用代码结合中秋主题给掘金做了首诗,如下:

image-20220913202002833

  但是还是没能有幸获得月饼,真是可恶(超凶)😡😡😡


  今天闲着无聊,就想着要不把这个写成一篇文章参加近期的金石计划,狠狠的薅一波羊毛🤺🤺🤺

  说干就干,我们直接上代码,本次的代码时调用百度的写诗接口实现的,所以代码很少,很好复现滴喔,代码如下:

 import urllib.request
 import json
 ​
 ​
 def get_token():
     # client_id 为官网获取的AK, client_secret 为官网获取的SK
     host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=nc3Fgb4weKwfUGF64pKkAaG6&client_secret=9G3xVje4necEZDU2MCHMRaHTs0oWOsOl'
     request = urllib.request.Request(host)
     request.add_header('Content-Type', 'application/json; charset=UTF-8')
     response = urllib.request.urlopen(request)
     content = response.read()
     content = bytes.decode(content)
     # print(type(content))
     content = eval(content[:-1])
     return content['access_token']
 ​
 ​
 # 调用百度智能写诗接口
 def get_poem(content):
     token = get_token()
     url = 'https://aip.baidubce.com/rpc/2.0/nlp/v1/poem'
     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=params)
     request.add_header('Content-Type', 'application/json')
     response = urllib.request.urlopen(request)
     content = response.read()
     # print(content)
     if content:
 ​
         # print(type(content))
 ​
 ​
         content = content.decode('utf-8')
         # print(type(content))
         data = json.loads(content)
         #
         # print(type(data))
         # print(data)
 ​
 ​
         poem = data['poem'][0]
 ​
         # print(type(poem))
         # print(poem)
 ​
         title = poem['title']
         # print(type(title))
         result = poem['content']
         return title, result
     else:
         return '', ''
 ​
 m=input("请输入一个关键字")
 name = get_poem(m)
 for i in range(len(name)):
     print(name[i])
 ​

  看完代码就可以复制到自己的编辑器中亲自实践啦。这里以给你的女朋友做首诗为例讲解用法,我们只需要执行程序,然后输入女朋友的名字,程序就会自动为我们写诗了喔,下面我就做个示范,😭😭😭发现自己好像没有呢,那就用国民老婆云韵来作诗吧,如下:

image-20220913203551602

  哈哈哈,我不厚道的笑了,这算不算为云韵老婆写了首诗呢。🌼🌼🌼

  大家去试试自己女朋友的名字吧,应该不会像我一样也没有吧👦🏽🧒🏽


2023.01.06更新——代码加入码上掘金


  是不是发现还挺有意思的呢,快去尝试尝试吧,做出属于你自己的诗!!!🌴🌴🌴