python数据可视化项目基于Spark的国漫推荐系统的设计与实现有爬虫

目录

一、项目介绍 

二、功能模块

三、代码介绍

四、参考lunwen

五、相关案例


一、项目介绍 

1.2国内外研究现状和发展趋势综述

在传统的纸质档案或office办公软件等作为载体利用人力进行国漫推荐管理,存在不少的不完善的地方,如:效率低下,保密 性差,不利于进行查找、更新、维护等。由于这些情 况,管理者面对用户的信息管理有很大困难,严重影响了管理者的工作效率,对于这些情况,使用计算机电子信息技术来实现国漫推荐信息的现代化管理,或以迅速查找想要的资料,使用起来十分方便且安全可靠,可大量保存数据,保密性好,载体不易磨损老化,设立成本低等。这些优点能够极大地提高国漫推荐管理的效率,只有这样,才能在市场经济发展的进程中获得竞争的有利地位,才能真正地走向科学化、规范化、现代化。实现了管理的科学化和统一,有效地防止了人为统计过程中产生的差错,极大的节省了用户的时间,也使管理人员工作的质量得到了极大的提升。

1.3开发设计的意义及研究方向

随着国漫规模的扩大,国漫推荐信息呈现多样化、复杂化趋势,从而给用户管理国漫推荐信息时带来了许多新的问题。随着用户人数的增多,国漫推荐管理人员掌握的资料越来越多,而传统工作方式则是获得资料缓慢,查找难度大,准确性低,难以满足高水平作业要求。所以,如何为用户提供更方便快捷查询国漫推荐信息,以及如何利用现代技术更科学、高效地管理国漫推荐信息,是开发此系统的主要目标。

采用传统的人力资源管理方式,有很多不足之处,例如:效率低、保密程度低、时间久了会生成很多资料,而且不方便查询、升级、维修等。我们可以利用计算机技术来取代传统的管理模式,实现国漫推荐信息的现代化管理。只有这样,才能让国漫推荐管理的进程中获得竞争的有利地位,才能真正地走向科学、规范化、现代化。实现了管理的科学化和统一,有效地防止了人为的差错,使工作质量得到了极大的提升。

为了提高国漫推荐管理的效率;充分利用现有资源;减少不必要的人力、物力和财政支出来实现管理人员更充分掌握国漫推荐信息的管理;开发设计专用系统--国漫推荐系统来进行管理国漫推荐信息,它将实现检索迅速和查找方便;信息的录入,修改和删除功能;以及对新用户进行国漫推荐查询等功能。

二、功能模块

管理员模块实现

管理员进入主页面,主要功能包括对个人中心、漫画数据管理、系统管理等功能进行操作。

管理员点击漫画数据管理。进入漫画数据页面输入标题、作者、状态、类别和类型可以对漫画数据列表进行查询、删除或爬取数据,并根据需要对漫画数据详细信息进行详情、修改或删除操作,如图5-3所示:

图5-3漫画数据管理界面

管理员点击爬取数据,点击右上角的看板,进入看板页面可以查看到系统简介、漫画类别、漫画状态、 漫画数据总数、作者分析、漫画订阅、漫画点击、漫画人气、漫画吐槽、漫画数据等实时的数据信息进行分析与可视化,如图5-4所示:

管理员点击系统管理。进入系统简介页面输入标题可以查询系统简介列表,并根据需要对系统简介详细信息进行详情或修改操作;如图5-5所示: 

三、代码介绍

注册模块相关代码

# coding:utf-8
__author__ = "ila"

from django.http import JsonResponse

from .users_model import users
from util.codes import *
from util.auth import Auth
import util.message as mes


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)


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

        data = users.getbyid(users, users, int(id_))
        if len(data) > 0:
            msg['data'] = data[0]
        # 浏览点击次数
        try:
            __browseClick__ = users.__browseClick__
        except:
            __browseClick__ = None

        if __browseClick__ and "clicknum" in users.getallcolumn(users, users):
            click_dict = {"id": int(id_), "clicknum": str(int(data[0].get("clicknum", 0)) + 1)}
            ret = users.updatebyparams(users, users, click_dict)
            if ret != None:
                msg['code'] = crud_error_code
                msg['msg'] = ret
        return JsonResponse(msg)


def users_save(request):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
        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_update(request):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
        req_dict = request.session.get("req_dict")
        if req_dict.get("mima") and req_dict.get("password"):
            if "mima" not in users.getallcolumn(users,users):
                del req_dict["mima"]
            if "password" not in users.getallcolumn(users,users):
                del req_dict["password"]
        try:
            del req_dict["clicknum"]
        except:
            pass
        error = users.updatebyparams(users, users, req_dict)
        if error != None:
            msg['code'] = crud_error_code
            msg['msg'] = error
        return JsonResponse(msg)


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

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

用户登录相关代码: 

import { DataTypes } from 'sequelize'
import sequelize from './sequelize'

const ConfigModel = sequelize.define('ConfigModel', {
	id: {
		type: DataTypes.BIGINT,
		primaryKey: true,
		autoIncrement: true,
		allowNull: false,
		comment: '主键id'
	},
	name: {
		type: DataTypes.STRING,
		allowNull: false,
		comment: '配置参数名称'
	},
	value: {
		type: DataTypes.STRING,
		allowNull: true,
		comment: '配置参数值'
	}
}, {
	timestamps: false,
	freezeTableName: true,
	tableName: 'config'
})

export default ConfigModel

四、参考lunwen

五、相关案例

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值