用word cloud生成词云图的效果觉得非常漂亮,但是每次需要手动在命令行里生成,显然有些麻烦。我希望能做成一个API,提供给我的小程序使用。
首先,看一下本地生成的图片效果:
文字可以根据背景图案不同分布成不同形状。可以自定义字体和文字颜色,目前使用的是随机默认颜色,我觉得默认的就挺好看的。词语是根据传入的一段文字自动截词的。
直接在bash中使用命令行执行.py文件,就会在当前目录下生成一张图片。
python3 worldcloud.py
我现在有一个微信小程序,后端使用的是PHP,我想把这个功能放到小程序里。
网上说PHP可以通过 exec("command",&$output,$result)方法运行python文件。 我测试了一下,如果python文件只包含简单的逻辑,比如打印一个"hello world",是可以执行成功的,如果python文件中的功能比较复杂,比如我生成图片的这个功能,需要引入很多功能模块的,就没法通过exec来运行。思来想去,只能运用python写一个API接口,当小程序调用PHP后端时,PHP把生成图片的请求转到python的API,python生成图片后,把图片地址返回给PHP,PHP再把图片地址response给小程序。。。
这就是我的小程序,现在词图的功能没有上,等我把API调用的功能实现后,就可以准备更新小程序啦. 有兴趣的朋友可以先收藏小程序
从头去学一个Django, flusk之类的web框架是没耐心了,而且我需要的也不是一个功能丰富的web服务,只是一个能为PHP提供一个小功能调用的API而以。网络一阵猛搜,搜到一个Bottle。 bottle就是一个极简单的web服务框架。看一下操作文档,几分钟就搞出了一个hello world,happy ing...
试一下通过浏览器访问API生成图片,也没有问题
再试通过url转入参数,并根据参数动态生成图片,也是OK的。哈哈哈哈