python爬虫练习(flask框架部分)

这边是flask框架+echarts+wordcloud练习部分。

  1. 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)
  1. 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/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球