当前位置:   article > 正文

python基于爬虫的个性化书籍推荐系统-可视化分析大屏展示

python基于爬虫的个性化书籍推荐系统-可视化分析大屏展示

收藏关注不迷路


前言

  
这个系统的设计主要包括系统页面的设计和方便用户互动的后端数据库,而前端软件的开发则需要良好的数据处理能力、友好的界面和易用的功能。
数据要被工作人员通过界面操作传输至数据库中。通过研究,以MySQL为后端数据库,以PYTHON为前端技术,以IDEA为开发平台,采用DJANGO架构,建立一个提供个人中心、用户管理、书籍分类管理、热门书籍管理、公告栏管理、小说信息管理、在线反馈、系统管理等必要功能的、稳定的个性化书籍推荐系统。
关键词:书籍;DJANGO框架;MySQL数据库

一、项目介绍

  
本系统通过分模块设计,主要实现个人中心、用户管理、书籍分类管理、热门书籍管理、公告栏管理、小说信息管理、在线反馈和系统管理的一体化管理。此外,该系统属于B/S结构,简单易上手,只需体验几次,用户就可以很熟练地使用各种功能。

本文从个性化书籍推荐信息管理的实际需要出发,为降低系统的耦合性,采用DJANGO框架集完成了系统总体架构的设计,以提高系统的重用性、可适用性及可维护性。
系统包括管理员和用户两个角色;
管理员用例如下所示:
在这里插入图片描述

图3-1 管理员用例图
用户用例如下所示:
在这里插入图片描述

图3-2 用户用例图

二、开发环境

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

————————————————

三、功能介绍

  
系统按照用户的实际需求开发而来,贴近生活。从管理员通过正确的账号的密码进入系统,可以使用相关的系统应用。管理员总体负责整体系统的运行维护,统筹协调。
系统整体模块设计:系统分为管理员和用户两大角色,系统管理员有最大的权限,总体功能展示如图4-3所示。
在这里插入图片描述

图4-3 系统总体功能图

四、核心代码

部分代码:


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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77

五、效果图

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

六、文章目录


1绪 论 1
1.1研究背景 1
1.2课题研究的意义 1
1.3研究现状 2
1.4研究内容和方法 3
1.4.1研究内容 3
1.4.2研究方法 3
1.5论文组织结构 3
2开发环境 5
2.1 Python语言 5
2.2 Django框架 5
2.3协同过滤算法介绍 5
2.4 Hadoop介绍 6
2.5 Scrapy介绍 6
2.6 MySQL数据库 6
3系统分析 7
3.1 系统可行性分析 7
3.1.1 技术可行性 7
3.1.2 操作可行性 7
3.1.3 经济可行性 7
3.1.4 法律可行性 7
3.2 系统用例分析 8
3.3系统流程分析 9
3.3.1 系统开发流程 9
3.3.2 用户登录流程 9
3.3.3 系统操作流程 10
3.3.4 添加信息流程 11
3.3.5 修改信息流程 11
3.3.6 删除信息流程 12
4 系统设计 13
4.1 系统概述 13
4.2 系统结构设计 13
4.3 数据库设计 14
4.3.1 数据库设计原则 14
4.3.2 数据库实体 14
4.3.3 数据库表设计 16
5界面设计与功能实现 20
5.1系统功能实现 20
5.2管理员模块实现 22
6系统测试 26
6.1系统测试的方法 26
6.2测试用例 26
6.3测试分析 27
结 论 28
参考文献 29
致 谢 30

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/193069?site
推荐阅读
相关标签
  

闽ICP备14008679号