用Python+小程序实现诗词大会的飞花令

前言

在2018年下半年的某一天,偶然观看了《中国诗词大会》节目的飞花令环节。当时作为语音行业一员对此十分感兴趣,想着能不能用程序实现一个,思考技术方案的时候发现最大难度就是数据,遂求助 码农交友社区(https://github.com/),发现了开源库 chinese-poetry(https://github.com/chinese-poetry/chinese-poetry),然后结合免费的百度语音识别,整个项目就成了。

实现语音版飞花令仅作为兴趣爱好,之前本来是用 Django 完成的,在朋友的安利之下改用 Sanic 重写。实现的过程中都是站在程序猿的角度看待整个程序,同时程序运行的服务器性能不算好、语音匹配算法实现得很粗糙等等,所以整个程序仅仅处于可用的状态,离体验好还差18条街吧。

但作为一个完整的应用,整个功能涉及到了Web后端常用的技术,供有一定Web基础的同学参考,特别是对于写过基本的Web后端程序然后想尝试异步编程的同学,本应用的技术栈为:
后端框架:Sanic + aioredis + aiomysql + aiohttp
数据库: mysql + redis
部署: nginx + docker + gunicorn
前端: 微信小程序
本文会简单地讲一下应用架构。

飞花令

整体架构如图所示
在这里插入图片描述
架构如上图所示,接下来分享部分技术细节。

Sanic

后端框架采用了 Sanic (https://github.com/huge-success/sanic),这是一个异步非阻塞网络框架,可以看做异步版本的 flask,sanic 比起 Django 轻量很多,简单几行就可以搭起一个接口

'''
注:我这有个学习Python基地,里面有很多学习资料,感兴趣的+Q群:895817687
'''
from sa
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值