zoukankan      html  css  js  c++  java
  • 豆瓣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'.staticassetsimg	ree.jpg')       #打开遮罩图片
    img_array = np.array(img) #将图片转换为数组
    wc = WordCloud(
        background_color='white',
        mask = img_array,
        font_path="msyh.ttc"    #字体所在位置C:WindowsFontsF
    
    )
    wc.generate_from_text(string)
    
    
    ##绘制图片
    fig = plt.figure(1)
    plt.imshow(wc)
    plt.axis('off')     #是否显示坐标轴
    
    plt.show()  #显示生成的词云图片
    plt.savefig(r'.staticassetsimgword.jpg',dpi =500)
    
    

    制作网页

    网页图表(Echarts)

    使用Echarts制作网页图标

    基本网页

    导入assets文件修改

    结果展示

    教学视频

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

    源码

    douban_flask

  • 相关阅读:
    Codeforces977D ---Divide by three, multiply by two 深搜+map存出现的数
    HDU4522 湫湫系列故事——过年回家
    2018浙江省赛记录
    POJ3259 :Wormholes(SPFA判负环)
    上海高校金马五校赛 F题:1 + 2 = 3?
    牛客练习赛15A-吉姆的运算式(Python正则表达式瞎搞)
    ZOJ2018/4月月赛G题Traffic Light(广搜)
    luogu 3960 列队
    noip2017
    10.3 模拟赛
  • 原文地址:https://www.cnblogs.com/thrseven/p/15173516.html
Copyright © 2011-2022 走看看