前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python做一个藏头诗生成器

Python做一个藏头诗生成器

作者头像
老肥码码码
发布2020-06-02 17:22:14
1.3K0
发布2020-06-02 17:22:14
举报

前几天给大家介绍了有意思的藏头诗,今天我们就用Python来自己根据输入语句实现自动生成藏头藏尾诗吧。

整个诗句生成的逻辑是这样的,先根据输入语句爬取符合要求的诗句(来自百度汉语),再根据更多样化的需求定制“新诗”。

藏头诗生成器的功能主要有生成藏头诗、生成藏尾诗,生成同时藏头并藏尾的诗句,生成句句押韵的藏头诗。

爬取诗句

在百度搜索“我开头的诗句”,可以进入到百度汉语的页面,该页面会显示所有以“我”字开头的诗句。

而诗句的爬取非常简单,只需要对指定的参数做修改即可获取这些包含目标诗句的json数据,wd控制查询语句,pn控制翻页。

另外这里对诗句进行字数的限制,我们仅保存七言或是五言诗句。

随机藏头诗

在这个模块中,我们将需要藏入诗句中的语句按字分开,对其中每一个字进行对应诗句的爬取,每一个字都随机选择一个诗句并拼接成诗。

拿“我喜欢你”当个例子,我们可以生成类似这样的藏头诗。

句句押韵

为了看起来更加高端大气上档次,我加入了这个押韵模块,押韵是一种诗文创作的修饰技巧,使诗文读起来十分顺口、悦耳。

该模块实现的押韵略有不同,每一句的句尾不仅仅是韵母相同,它们的拼音(除了音调)完全相同。

这里引入的是pypinyin模块,将这些藏头诗句做出筛选,选择有相同韵脚的诗句拼接。

结果可以参照下面的例子,杰尼最可爱。

藏头且藏尾

这个模块的目标是生成既藏头又藏尾的句子,比如我想生成藏头「老肥」,藏尾「牛逼」,我只需要在所有老字开头的诗句里面找到肥字结尾的诗句,在所有牛字开头的诗句中找到逼字结尾的。这件事稍微有些困难(字数越多,难度越大),几乎很难呈现出目标诗句。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与数据之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 爬取诗句
  • 随机藏头诗
  • 句句押韵
  • 藏头且藏尾
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档