代做python基于爬虫的个性化书籍推荐系统[文档+答疑+远程运行

 🍅选题推荐——以防找不到我们,点击上方订阅专栏✌✌

2024年计算机Java Python安卓APP微信小程序asp.net项目PHP毕业设计2000个热门选题推荐计算机毕业设计如何选题?

计算机毕业设计开题报告如何书写

论文的书写如何写出一篇好论文

计算机毕业设计答辩PPT注意事项书写方法

IT实战课堂计算机毕业设计项目实战教程

答辩常见100道问题整理以及注意事项

IT实战课堂计算机毕业设计项目实战教程​​​​

安装Chatgdt搜索答辩老师常提的问题-----------------重点

👇🏻文末获取源码联系👇🏻

该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功以及课程答疑与微信售后交流群、送查重系统不限次数免费查重等福利!

软件开发环境及开发工具:

开发语言:python

使用框架:Django

前端技术:JavaScript、VUE.js(2.X)、css3

开发工具:pycharm、Visual Studio Code、HbuildX

数据库:MySQL 5.7.26(版本号)

数据库管理工具:phpstudy/Navicat或者phpstudy/sqlyog

python版本:python3.0及以上

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

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

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

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

2.4 Python

Python语言是荷兰guido van rossum在1991年推出的一种免费开源语言,其开发的程序可读性非常强,非常适合初学者学习,功能强大并且易于开发,可扩展性很强,代码库也很丰富,它的应用范围也非常广,例如web应用开发、科学计算、人工智能等多个领域。自2005年开始,Python上涨的势头就非常明显,如今已经进入到3.0时代,近来在tiobe公布的2022年1月排行榜中,Python取得了第一的成绩,这说明Python语言在蓬勃发展并且其发展前景非常好。对于物联网专业的中职学生来说,学习Python语言不仅可以提高他们的专业水平和逻辑性,还可以提高他们的就业竞争力。

2.5 Django框架

Django用Python编写,属于开源Web应用程序框架。采用(模型M、视图V和模板t)的框架模式。该框架以比利时吉普赛爵士吉他手詹戈•莱因哈特命名。该架构的主要组件如下:

1.用于创建模型的对象关系映射。

2.最终目标是为用户设计一个完美的管理界面。

3.是目前最流行的URL设计解决方案。

4.模板语言对设计师来说是最友好的。

5.1系统功能实现

当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到系统的导航条,通过导航条导航进入各功能展示页面进行操作。系统首页界面如图5-1所示:

热门书籍:在热门书籍页面的输入栏中输入书籍名称、书籍作者和选择书籍分类进行查询,可以查看到热门书籍详细信息,并根据需要进行评论或收藏操作;热门书籍页面如图5-2所示:

管理员进入主页面,主要功能包括对个人中心、用户管理、书籍分类管理、热门书籍管理、公告栏管理、小说信息管理、在线反馈、系统管理等进行操作。

关键代码

# 用户相关,登录注册退出,用户增删改查

from django.http import JsonResponse

from .users_model import users
from util.codes import *
from util.auth import Auth
import util.message as mes
from dj2.settings import host,port,user,passwd,dbName,hasHadoop

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")
        req_dict['role'] = '管理员'
        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)

 🍅源码获取:大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻  

  • 23
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值