python美团外卖的数据分析系统

收藏关注不迷路


前言

最近几年,互联网技术得到了很大的发展,互联网已经从最初的一个获得资讯的工具,慢慢地进入到了我们的生活中,变成了我们的日常。我们饥饿的时候,会想到“美团”,旅行的时候,会想到“滴滴”,旅行的时候,会想到“去哪儿”,可以说,互联网已经成为了人们交流信息的主要渠道。如何快速、高效、准确地获取互联网上的资讯,已是一个亟待解决的课题。现在,不管是政府,还是企业,对大数据的收集、分析和发布,都给予了极大的支持。但是,如果是人工采集的话,速度会很慢,费用也会很高。
在这样的背景和要求之下,在对信息采集技术的工作原理,以及常见的爬虫框架、采集算法进行了深入的学习和研究,在对信息网站的结构特征进行了深刻的分析之后,结合采集对象的特征,将两种算法相结合,设计出了四种采集程序,并基于Soapy框架,采用了中间件技术,开发了动态浏览器标识和代理池。利用MySQL数据库和云平台虚拟化技术,构建了一套可靠性和可行性极高的分布式收集集群,提高了数据收集效率,利用PYQT5实现跨平台的信息发布程序,利用Selenium自动化工具,解决了网站登陆、网站查询以及模拟人工进行数据收集。利用FLASK技术实现了资料收集与管理系统及大屏幕的显示功能。另外,在数据清洗的基础上,通过数据清洗,格式转换,移除和增加对象,以达到数据的一致性。
本文以Python为基础,对外卖数据进行了分析,从而极大地降低了有关产业的资讯工作者的工作强度,为更快、更好、更方便地获得发布资讯,提供了技术支撑。到现在为止,这个系统已经从最初的收集对象,到最近的几百个国际和国内的站点,已经有一年多的时间了,收集到了395万条的数据。

关键词:外卖数据;信息采集;Python

一、项目介绍

开发语言:Python
python框架:django
软件版本:python3.7/python3.8
数据库:mysql 5.7或更高版本
数据库工具:Navicat11
开发软件:PyCharm/vs code
前端框架:vue.js
————————————————

三、功能介绍

美团外卖的数据分析系统是现如今社会信息交流中一个重要的组成部分,本文将从美团外卖的数据分析系统管理的需求和现状进行分析,使得本系统的设计实现具有可使用的价。做出一个实用性好的美团外卖的数据分析系统,使其能满足用户的需求,并可以让用户更方便快捷地了解美团外卖信息。美团外卖的数据分析系统的设计开发,目的主要是为了简化美团外卖的数据分析系统的管理,使管理员更好地完成工作,在工作中实现高效快捷的管理效率。
本文从美团外卖的数据分析系统管理的实际需要出发,为降低系统的耦合性,采用DJANGO框架集完成了系统总体架构的设计,以提高系统的重用性、可适用性及可维护性。
系统包括管理员和用户两个角色;
管理员用例如下所示:
请添加图片描述

图3-1 管理员用例图
用户用例如下所示:
请添加图片描述

图3-2 用户用例图

四、核心代码

部分代码:


def users_login(request):
    if request.method in ["POST", "GET"]:
        msg = {'code': normal_code, "msg": mes.normal_code}
        req_dict = request.session.get("req_dict")
        if req_dict.get('role')!=None:
            del req_dict['role']
        datas = users.getbyparams(users, users, req_dict)
        if not datas:
            msg['code'] = password_error_code
            msg['msg'] = mes.password_error_code
            return JsonResponse(msg)

        req_dict['id'] = datas[0].get('id')
        return Auth.authenticate(Auth, users, req_dict)


def users_register(request):
    if request.method in ["POST", "GET"]:
        msg = {'code': normal_code, "msg": mes.normal_code}
        req_dict = request.session.get("req_dict")

        error = users.createbyreq(users, users, req_dict)
        if error != None:
            msg['code'] = crud_error_code
            msg['msg'] = error
        return JsonResponse(msg)


def users_session(request):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code,"msg":mes.normal_code, "data": {}}

        req_dict = {"id": request.session.get('params').get("id")}
        msg['data'] = users.getbyparams(users, users, req_dict)[0]

        return JsonResponse(msg)


def users_logout(request):
    if request.method in ["POST", "GET"]:
        msg = {
            "msg": "退出成功",
            "code": 0
        }

        return JsonResponse(msg)


def users_page(request):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code, "msg": mes.normal_code,
               "data": {"currPage": 1, "totalPage": 1, "total": 1, "pageSize": 10, "list": []}}
        req_dict = request.session.get("req_dict")
        tablename = request.session.get("tablename")
        try:
            __hasMessage__ = users.__hasMessage__
        except:
            __hasMessage__ = None
        if __hasMessage__ and __hasMessage__ != "否":

            if tablename != "users":
                req_dict["userid"] = request.session.get("params").get("id")
        if tablename == "users":
            msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \
            msg['data']['pageSize'] = users.page(users, users, req_dict)
        else:
            msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \
            msg['data']['pageSize'] = [],1,0,0,10

        return JsonResponse(msg)


五、效果图

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

六、文章目录

目 录
第1章 绪论 1
1.1 研究背景 1
1.2 研究意义 1
1.3 国内外发展现状 2
1.3.1 国内研究现状 2
1.3.2 国外研究现状 2
1.4 本文的组织结构 3
第2章 项目相关技术 4
2.1 MySQL 数据库技术 4
2.2 协同过滤算法 5
2.3 Django框架 6
2.4 scrapy框架 6
2.5 hadoop技术 6
2.6 spark 7
2.7 hive 7
第3章 系统分析 8
3.1 系统的可行性分析 8
3.1.1 技术可行性分析 8
3.1.2 经济可行性分析 8
3.1.3 操作可行性分析 8
3.1.4 法律可行性分析 9
3.2 需求分析 9
3.3 系统用例建模 10
3.3.1 Django美团外卖的数据分析系统系统管理员用例分析 10
3.3.2 Django美团外卖的数据分析系统系统管理员用例分析 10
第4章 系统设计 12
4.1 系统总体构架 12
4.2 系统各个功能模块设计 12
4.2.1 管理员业务流程设计 12
4.2.2 用户业务流程设计 13
4.3 数据库得设计 14
4.4 系统设计流程 17
4.4.1 系统流程概述 17
4.4.2 爬虫流程 18
4.4.3 系统架构及原理 20
4.4.4 系统数据分析 21
第5章 系统实现 23
5.1 前端功能模块 23

5.2 后台功能模块 24

第6章 系统测试 35
6.1 系统测试目的及意义 35
6.2 测试的准则 35
6.3 系统用例测试 35
6.3.1 管理员用例测试 35
6.3.2 管理员系统的用例测试 36
6.3.3 用户用例测试 36
第七章 总结与展望 38
参考文献 39
致 谢 40
附 录 41

  • 43
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕业程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值