如何用Python轻松搞定藏头诗

2021-03-07 02:27

阅读:653

标签:str   学习资料   输入   -o   nbsp   处理   来源   nal   开头   

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

PS:如有需要Python学习资料的小伙伴可以加下Python快乐交流群:1136201545

技术图片

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

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

爬取诗句

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

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

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

 

技术图片

随机藏头诗

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

 

技术图片

 

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

 

技术图片

句句押韵

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

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

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

技术图片


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

技术图片

 

藏头且藏尾

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

 

技术图片

如何用Python轻松搞定藏头诗

标签:str   学习资料   输入   -o   nbsp   处理   来源   nal   开头   

原文地址:https://www.cnblogs.com/liuyueqingfeng/p/14284339.html


评论


亲,登录后才可以留言!