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

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

爬取诗句

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

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

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

随机藏头诗

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

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

句句押韵

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

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

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

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

藏头且藏尾

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

python作诗_如何用Python轻松搞定藏头诗相关推荐

  1. 如何用Python轻松搞定藏头诗

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资 ...

  2. python每月定时_如何用Python写一个每分每时每天的定时程序

    阅读本文大概需要4分钟 上一篇我们学习了Python关于时间,日期,日历的一些基本用法,现在我们通过两个精选例子让你融汇贯通,快来看看吧 1.计算生日是星期几 当你女朋友要过生日了,你肯定要定找家饭店 ...

  3. endnote转化成纯文本后_如何用Endnote分分钟搞定参考文献

    原标题:如何用Endnote分分钟搞定参考文献 解螺旋公众号·陪伴你科研的第1924天 Endnote教程第二弹来啦! 写论文离不了对参考文献的引用,Endnote在文献撰写中发挥着重要作用.下面我们 ...

  4. 如何使用graphpad做柱形图_用Graphpad Prism轻松搞定不同类型的柱形图

    原标题:用Graphpad Prism轻松搞定不同类型的柱形图 作者:解螺旋.子非鱼 解螺旋原创 转载请注明来源:解螺旋,医生科研助手 上一次小鱼介绍的两分钟搞定Graphpad Prism的速学法, ...

  5. aes加密算法python语言实现_如何用Python实现AES CCM的加解密

    1.简介 AES CCM被广泛应用于现代通讯中,在学习过程中需要验证数据的加解密的结果,那么有个方便修改的Python脚本工具就是一个迫切的需求. 2. 实施 我们下面介绍如何实现AES CCM的Py ...

  6. python怎么读_如何用Python读写文件

    前面我们已经介绍了很多Python相关的基础知识,大家是不是对Python已经有了进一步认识了呢?作为人工智能时代的热门编程语言,开始接触并学习Python的孩子越来越多,家长们都不想让自己的孩子落于 ...

  7. python贪吃蛇_如何用Python写一个贪吃蛇?

    阅读文本大概需要 5 分钟 作者:Hawstein http://hawstein.com/2013/04/15/snake-ai/ 前言 这两天在网上看到一张让人涨姿势的图片,图片中展示的是贪吃蛇游 ...

  8. python旅游推荐系统_如何用Python搭建一个简单的推荐系统?

    推荐系统的相关知识我们已在前文中提到,在这篇文章中,我们会介绍如何用Python来搭建一个简单的推荐系统. 本文使用的数据集是MovieLens数据集,该数据集由明尼苏达大学的Grouplens研究小 ...

  9. 用python开启相机_如何用Python打开realsenseD435相机并获取相机参数

    如何用Python打开realsenseD435相机 import pyrealsense2 as rs import numpy as np import cv2 if __name__ == &q ...

最新文章

  1. 240个jquery插件
  2. QTWebEngine的使用
  3. cocos2d-xna在使用某些场景转换效果时的问题以及修复
  4. Mysql清空表(truncate)与删除表中数据(delete)的区别
  5. python的scale方法的变体以及使用_Python with用法实例
  6. webstorm 添加php插件,webstorm常用插件分享
  7. wait,notify,notifyAll用法解析
  8. 在ros中打开下载的功能包头文件具体信息_机器人操作系统ROS-Roboware Studio教程(ROS melodic)...
  9. LQR控制基本原理(包括Riccati方程具体推导过程)
  10. 给新建属性设置自己需要的快捷键
  11. MAC hosts 文件修改流程
  12. YoloV3 先验框
  13. git创建本地ssh密匙
  14. export default function和export function的区别
  15. python之随机漫步数据
  16. 面部皮肤200种问题_颧骨内推真那么吓人?这是一篇耗时200个小时的功课
  17. 找工作面试会遇到哪些坑(校招篇)
  18. ChromeOptions
  19. 【毕业设计】大数据电影数据分析可视化系统 - python 爬虫
  20. 十五天学会Autodesk Inventor,看完这一系列就够了(九),主题/色彩/单位设置

热门文章

  1. ResNeSt 之我见
  2. Python爬虫入门教程12:英雄联盟皮肤图片的爬取
  3. 一些简单的MATLAB数学实验
  4. SpringBoot中Actuator监控
  5. 世界之窗极速版4.2.0.102
  6. 一篇文章了解MySQL联合索引
  7. 合泰32-Onenet-WiFi模块-合泰单片机通过MQTT协议数据上云(二)
  8. 学生注册平台html,安全教育平台登录注册
  9. 加密的word文件怎么编辑
  10. word文件是加密过的怎么解决