毕业设计:python美食菜谱数据分析可视化系统 爬虫+Echarts 可视化 Django框架 大数据(源码+文档2)✅

python美食菜谱数据分析可视化系统 爬虫+Echarts 可视化 Django框架 大数据✅

1、项目介绍

技术栈:
Python语言、Django框架、vue框架、Echarts 可视化、MySQL 数据库、豆果美食网、html css js juery

基于django的美食菜谱数据分析可视化系统

2、项目界面

(1)美食菜品数据

(2)分类可视化前十

(3)类型可视化前十

(4)配料分布分析

(5)菜式分类

(6)所有配料可视化分析

(7)作者分布图

(8)作者分布词云图

(9)配料分析图

(10)后台数据管理

3、项目说明

基于Django的美食菜谱数据分析可视化系统是一个使用Python语言和Django框架开发的Web应用程序。它还使用了Vue框架和Echarts可视化工具来实现数据可视化。

该系统的主要功能是对豆果美食网的菜谱数据进行分析和可视化展示。用户可以通过系统的界面进行菜谱搜索、分类浏览等操作,系统会根据用户的需求从MySQL数据库中获取相应的数据。

系统的前端使用了HTML、CSS、JavaScript和JQuery等技术来实现页面的布局和交互效果。用户可以通过系统的界面进行菜谱搜索、分类浏览等操作。

系统的后端使用了Python语言和Django框架来处理用户的请求,并与MySQL数据库进行交互。系统会根据用户的需求从数据库中获取相应的数据,并使用Echarts可视化工具将数据以图表的形式展示出来。

通过该系统,用户可以方便地进行美食菜谱的数据分析和可视化展示,帮助用户更好地理解和利用菜谱数据。同时,该系统还提供了用户注册、登录、个人信息管理等功能,以及对菜谱的收藏、评论等操作,提升了用户的交互体验。

4、核心代码

python 复制代码
import uuid
from collections import Counter

from django.http import HttpResponse, JsonResponse
from django.shortcuts import render

from django.views.decorators.csrf import csrf_exempt
from django.db.models import *
from app01 import models
import json
from django.core import serializers


# 登陆
def login(request):
    data = {}
    res = json.loads(request.body)
    password = res.get("password")
    name = res.get("name")
    print(name, password)
    use = models.User.objects.filter(name=name).filter(password=password).values()
    print(len(use))
    data["login"] = len(use)
    return JsonResponse(data=data, json_dumps_params={'ensure_ascii': False})


# 注册
def zc(request):
    data = {}
    res = json.loads(request.body)
    password = res.get("password")
    name = res.get("name")
    print(name, password)
    zc = 0
    user = models.User.objects.filter(name=name)
    if len(user) == 0:
        uid = models.User(id=uuid.uuid1(), name=name, password=password).save()
        user = models.User.objects.filter(name=name)
        print(user)
        zc = 1
    data["login"] = zc
    return JsonResponse(data=data, json_dumps_params={'ensure_ascii': False})


def home(request):
    data = {}
    res = json.loads(request.body)
    name = res.get("type")
    img = models.Menu.objects.filter(big_type=name).values("img")[0:5]
    items = models.Menu.objects.raw(
        'select id, count(type) ,type from menu where big_type = "' + str(name) + '" group by type')
    item = []
    for i in items:
        d = {"label": i.type}
        item.append(d)
    data["img"] = list(img)
    data["items"] = list(item)
    return JsonResponse(data=data, json_dumps_params={'ensure_ascii': False})


def info(request):
    res = json.loads(request.body)
    data = {}
    i = res.get("pageIndex")
    size = res.get("pageSize")
    name = res.get("name")
    big = res.get("value")
    num = res.get("num")
    ll = models.Menu.objects.raw("select id, count(big_type) value,big_type name from menu group by  q big_type")
    if num == '':
        li = models.Menu.objects.filter(name__contains=name).filter(big_type__contains=big).order_by(
            'type').values()[
             (i - 1) * size:i * size]
        total = models.Menu.objects.filter(name__contains=name).filter(big_type__contains=big).values(
            "id").count()
    else:
        li = models.Menu.objects.filter(name__contains=name).filter(big_type__contains=big).filter(num=num).order_by(
            'type').values()[
             (i - 1) * size:i * size]
        total = models.Menu.objects.filter(name__contains=name).filter(big_type__contains=big).filter(num=num).values(
            "id").count()
    item = []

    #(1) MySQL5.5版本用下面的代码
    # for i in ll:
    #     d = {"value": i.name, "label": i.name}
    #     item.append(d)
    #

    #(2) MySQL5.7以上版本用下面的代码
    for i in list(li):
        l = i['peiliao'].split(',')
        i['num'] = len(l)




    data["items"] = list(item)
    data["list"] = list(li)
    data["total"] = total
    return JsonResponse(data=data, json_dumps_params={'ensure_ascii': False})


def echarts(request):
    data = {}
    big = models.Menu.objects.raw(
        "select id, count(big_type) value,big_type name from menu group by big_type order by value desc limit 20")
    item = []
    for i in big:
        d = {"name": i.name, "value": i.value}
        item.append(d)
    data["big"] = list(item)
    type = models.Menu.objects.raw(
        "select id, count(type) value,type name from menu group by type order by value desc limit 50")
    item = []
    for i in type:
        d = {"name": i.name, "value": i.value}
        item.append(d)
    data["type"] = list(item)
    return JsonResponse(data=data, json_dumps_params={'ensure_ascii': False})


def echarts1(request):
    data = {}
    num = models.Menu.objects.raw(
        "select id, count(num) value,num name from menu group by num order by value desc limit 20")
    item = []
    for i in num:
        d = {"name": i.name, "value": i.value}
        item.append(d)
    data["num"] = list(item)
    type = models.Menu.objects.raw(
        "select id,count(num) value,num name from menu where big_type = '中国菜' group by num order by value desc limit 10")
    item = []
    for i in type:
        d = {"name": i.name, "value": i.value}
        item.append(d)
    data["china"] = list(item)
    wai = models.Menu.objects.raw(
        "select id,count(num) value,num name from menu where big_type = '外国菜' group by num order by value desc limit 10")
    item = []
    for i in wai:
        d = {"name": i.name, "value": i.value}
        item.append(d)
    data["wai"] = list(item)
    ge = models.Menu.objects.raw(
        "select id,count(num) value,num name from menu where big_type = '各地小吃' group by num order by value desc limit 10")
    item = []
    for i in ge:
        d = {"name": i.name, "value": i.value}
        item.append(d)
    data["ge"] = list(item)
    cs = models.Menu.objects.raw(
        "select id,count(num) value,num name from menu where big_type = '菜式' group by num order by value desc limit 10")
    item = []
    for i in cs:
        d = {"name": i.name, "value": i.value}
        item.append(d)
    data["cs"] = list(item)
    return JsonResponse(data=data, json_dumps_params={'ensure_ascii': False})
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161

🍅✌**感兴趣的可以先收藏起来,点赞关注不迷路,想学习更多项目可以查看主页,大家在毕设选题,项目代码以及论文编写等相关问题都可以给我留言咨询,希望可以帮助同学们顺利毕业!**🍅✌

5、源码获取方式

🍅**由于篇幅限制,获取完整文章或源码、代做项目的,拉到文章底部即可看到个人联系方式。**🍅

**点赞、收藏、关注,不迷路,**下方查看**👇🏻*获取联系方式*👇🏻

相关推荐
demodeom20 分钟前
Python 操作 读/写 Excel
服务器·python·excel
进步哥44 分钟前
python之爬虫遇到返回内容乱码
开发语言·爬虫·python
云天徽上1 小时前
【NLP-06】词形还原(Lemmatization)深度解析与实践
python·机器学习·自然语言处理
Nerinic1 小时前
Python基础10
python
白狐欧莱雅1 小时前
使用Python中的DrissonPage库爬取小说网站并保存章节内容(bqg)
经验分享·笔记·python·自动化·drissonpage
武子康1 小时前
大数据-197 数据挖掘 机器学习理论 - scikit-learn 泛化能力 交叉验证
大数据·人工智能·python·机器学习·数据挖掘·scikit-learn
FOYA传媒科技2 小时前
FOYA传媒科技招聘
java·css·vue.js·python·科技·html5·传媒
.信.2 小时前
书生实战营第四期-第三关 Git+InternStudio
linux·人工智能·git·python
B站计算机毕业设计超人2 小时前
计算机毕业设计Python+大模型恶意木马流量检测与分类 恶意流量监测 随机森林模型 深度学习 机器学习 数据可视化 大数据毕业设计 信息安全 网络安全
大数据·python·深度学习·随机森林·机器学习·课程设计·数据可视化
敲代码不忘补水2 小时前
Pandas 数据可视化指南:从散点图到面积图的全面展示
python·信息可视化·数据分析·numpy·pandas·matplotlib