这边是flask框架+echarts+wordcloud练习部分。
- flask框架
flask框架需要使用Flask , render_template两个库(后者用来返回模板html)
@app….. 这部分是路由解析,通过用户访问的路径匹配不同的函数。
底部函数负责返回对应的网页以及网页渲染所需要的参数(例如查询数据库获取参数)
@app.route('/movie')
def movie(): # put application's code here
movies = []
conn = sqlite3.connect("movie.db")
cur = conn.cursor()
sql = "select * from movie250"
data = cur.execute(sql)
for item in data:
movies.append(item)
cur.close()
conn.close()
return render_template("movie.html", movies=movies)
- Echarts部分
去Echarts官网下载示范模板即可。导入echarts.min.js的JavaScript文件,找到合适的模板下载代码,修改参数。
3.Wordcloud部分
需要使用以下几个库。
import jieba #分词
from matplotlib import pyplot as plt #绘图,数据可视化
from wordcloud import WordCloud #词云
from PIL import Image #图像处理
import numpy as np #矩阵运算
import sqlite3 #数据库
jieba.cut需要三个参数,分别为需要分词的字符串string,是否开启全模式,是否搜索引擎
jieba.cut 返回的结构是一个可迭代的 generator(或者叫对象),可以使用 for 循环来获得分词后得到的每一个词语(unicode),或者用jieba.lcut 以及 jieba.lcut_for_search 直接返回 list
#分词
cut = jieba.cut(text)
string = ' '.join(cut)
这边直接在cut返回的对象中插入空格生成字符串
img = Image.open(r'.\static\assets\img\Jay.png')
img_array = np.array(img) #将图片转换为数组
然后将生成词云需要的图片使用numpy库转变为数组,便于后面的计算
wc = WordCloud(
background_color='white',
mask=img_array,
font_path="FZSTK.TTF",
stopwords="的 是 你 人 了 电 影 都 我 在 就是 和 电影",
)
wc.generate_from_text(string)
然后就用wordcloud库进行词云对象封装,然后wc对象对(string)进行解析与生成
#绘制图片
fig = plt.figure(1)
plt.imshow(wc)
plt.axis('off') #是否显示坐标轴
#plt.show()
plt.savefig(r'.\static\assets\img\word.jpg', dpi=500)
最后使用matplotlib库绘制成图片并保存。(figure(1)似乎可以省略
Original: https://blog.csdn.net/qq_41571018/article/details/119719553
Author: chormoon
Title: python爬虫练习(flask框架部分)
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/748693/
转载文章受原作者版权保护。转载请注明原作者出处!