豆瓣Top250数据可视化
流程分析

文件结构

具体代码
flask主流程
此模块主要完成网页载入和与数据库连接.
from flask import Flask,render_template
import _sqlite3
app = Flask(__name__)
@app.route('/')
def index():
    return render_template("index.html")
@app.route('/index')
def home():
    # return render_template("index.html")
    return index()
@app.route('/movie')
def movie():
    datalist = []
    con = _sqlite3.connect("movie.db")
    cur = con.cursor()
    sql = "select * from movie250"
    data = cur.execute(sql)
    for item in data:
        datalist.append(item)
    cur.close()
    con.close()
    return render_template("movie.html",movies = datalist)
@app.route('/score')
def score():
    score = []      #评分
    num= []         #每个评分统计出的电影数
    con = _sqlite3.connect("movie.db")
    cur = con.cursor()
    sql = "select score ,count(score) from movie250  group by score"
    data = cur.execute(sql)
    for item in data:
        score.append(item[0])
        num.append((item[1]))
    cur.close()
    con.close()
    return render_template("score.html",score=score,num=num)
@app.route('/word')
def word():
    return render_template("word.html")
@app.route('/team')
def team():
    return render_template("team.html")
if __name__ == '__main__':
    app.run()
导入前端模板
在此导入下载好的模板,即static中的assets文件.
cloudworld(词云)
使用词云需先安装一些库,具体如下.
import jieba                                #分词
from matplotlib import pyplot as plt        #绘图,可视化
from wordcloud import WordCloud             #词云
from PIL import Image                       #图片处理
import numpy as np                          #矩阵运算
import sqlite3                              #数据库
#准备词云所需的文字
con = sqlite3.connect('movie.db')
cur = con.cursor()
sql = "select instroduction from movie250"
data = cur.execute(sql)
text = ""
for item in data:
    text = text+item[0]
    # print(item[0])
cur.close()
con.close()
#分词
cut = jieba.cut(text)
string = ' '.join(cut)
print(len(string))
img = Image.open(r'.\static\assets\img\tree.jpg')       #打开遮罩图片
img_array = np.array(img) #将图片转换为数组
wc = WordCloud(
    background_color='white',
    mask = img_array,
    font_path="msyh.ttc"    #字体所在位置C:\Windows\FontsF
)
wc.generate_from_text(string)
##绘制图片
fig = plt.figure(1)
plt.imshow(wc)
plt.axis('off')     #是否显示坐标轴
plt.show()  #显示生成的词云图片
plt.savefig(r'.\static\assets\img\word.jpg',dpi =500)
制作网页
网页图表(Echarts)
使用Echarts制作网页图标
基本网页
导入assets文件修改
结果展示





教学视频
Python爬虫编程基础5天速成(2021全新合集)Python入门+数据分析

 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号