自学内容网 自学内容网

基于Python实现爬虫+协同过滤算法的招聘信息推荐系统

作者简介:Java、前端、Python开发多年,做过高程,项目经理,架构师

主要内容:Java项目开发、Python项目开发、大学数据和AI项目开发、单片机项目设计、面试技术整理、最新技术分享

收藏点赞不迷路  关注作者有好处

文末获得源码

 项目编号:BS-Python-045

一,环境介绍

语言环境:Python3.8

数据库:Mysql: mysql5.7

WEB框架:Django

开发工具:IDEA或PyChram

二,项目简介

随着网络科技的不断发展以及人们经济水平的逐步提高,计算机如今已成为人们生活中不可缺少的一部分,为招聘信息方便管理,基于Python技术设计与实现了一款简洁、轻便的管理系统。本系统解决了招聘信息管理中的主要问题,包括个人中心、用户管理、招聘信息管理、留言板管理、系统管理等功能。

本系统采用了Python语言的Django框架,数据采用MySQL数据库进行存储。结合B/S结构进行开发设计,功能强大,界面化操作便于上手。本系统具有良好的易用性和安全性,系统功能齐全,可以满足招聘信息管理的相关工作。

本系统综合网络空间开发设计要求。目的是将传统管理方式转换为在网上管理,完成招聘信息管理的方便快捷、安全性高、交易规范做了保障,目标明确。招聘信息推荐系统可以将功能划分为管理员功能和用户功能。

(1)、管理员关键功能包含个人中心、用户管理、招聘信息管理、留言板管理、系统管理等进行管理。管理员用例如下:

图3-1 管理员用例图

(2)、用户登录进入系统可以实现对首页、招聘信息、新闻资讯、留言板、个人中心等进行管理。用户用例如下:

图3-2 用户用例图

系统采用了结构化开发的方法。这种开发方法的优点是控制性比较强,开发过程中采用了结构化和模块化的设计思想,自顶向下,从总体到部分,合理划分系统的结构和模块。结构化开发时使用模块式开发,各模块之间互不影响,方便系统的开发与管理。 系统总体功能如下图所示:

三,系统展示

3.1 系统前端

系统首页

用户注册:

招聘详情:

个人中心

3.2 系统后端

管理主界面:

用户管理:

四,核心代码展示

from django.contrib import admin

from django.apps import apps, AppConfig
# Register your models here.

from dj2.settings import dbName as schemaName
from main.users_model import users
from main.config_model import config

try:
    from main.models import *
except:
    pass
# change title
admin.site.site_title = schemaName  # 设置页面标题
admin.site.site_header = schemaName  # 设置网站页头
admin.site.index_title = schemaName  # 设置首页标语

allModels = apps.get_app_config('main').get_models()

for ind, model in enumerate(allModels):

    class modelsite(admin.ModelAdmin):
        list_display = []
        for col in model._meta.fields:
            list_display.append(col.name)

        search_fields = list_display


    admin.site.register(model, modelsite)
#coding:utf-8
__author__ = "ila"
from django.db import models

from .model import BaseModel

from datetime import datetime



class yonghu(BaseModel):
    __doc__ = u'''yonghu'''
    __tablename__ = 'yonghu'

    __loginUser__='yonghuming'


    __authTables__={}
    __authPeople__='是'#用户表,表属性loginUserColumn对应的值就是用户名字段,mima就是密码字段
    __loginUserColumn__='yonghuming'#用户表,表属性loginUserColumn对应的值就是用户名字段,mima就是密码字段
    __sfsh__='否'#表sfsh(是否审核,”是”或”否”)字段和sfhf(审核回复)字段,后台列表(page)的操作中要多一个”审核”按钮,点击”审核”弹出一个页面,包含”是否审核”和”审核回复”,点击确定调用update接口,修改sfsh和sfhf两个字段。
    __authSeparate__='否'#后台列表权限
    __thumbsUp__='否'#表属性thumbsUp[是/否],新增thumbsupnum赞和crazilynum踩字段
    __intelRecom__='否'#智能推荐功能(表属性:[intelRecom(是/否)],新增clicktime[前端不显示该字段]字段(调用info/detail接口的时候更新),按clicktime排序查询)
    __browseClick__='否'#表属性[browseClick:是/否],点击字段(clicknum),调用info/detail接口的时候后端自动+1)、投票功能(表属性[vote:是/否],投票字段(votenum),调用vote接口后端votenum+1
    __foreEndListAuth__='否'#前台列表权限foreEndListAuth[是/否];当foreEndListAuth=是,刷的表新增用户字段userid,前台list列表接口仅能查看自己的记录和add接口后台赋值userid的值
    __foreEndList__='否'#表属性[foreEndList]前台list:和后台默认的list列表页相似,只是摆在前台,否:指没有此页,是:表示有此页(不需要登陆即可查看),前要登:表示有此页且需要登陆后才能查看
    __isAdmin__='否'#表属性isAdmin=”是”,刷出来的用户表也是管理员,即page和list可以查看所有人的考试记录(同时应用于其他表)
    addtime = models.DateTimeField(auto_now_add=False, verbose_name=u'创建时间')
    yonghuming=models.CharField ( max_length=255,null=False,unique=True, verbose_name='用户名' )
    mima=models.CharField ( max_length=255,null=False, unique=False, verbose_name='密码' )
    xingming=models.CharField ( max_length=255, null=True, unique=False, verbose_name='姓名' )
    xingbie=models.CharField ( max_length=255, null=True, unique=False, verbose_name='性别' )
    touxiang=models.TextField   (  null=True, unique=False, verbose_name='头像' )
    youxiang=models.CharField ( max_length=255, null=True, unique=False, verbose_name='邮箱' )
    shouji=models.CharField ( max_length=255, null=True, unique=False, verbose_name='手机' )
    '''
    yonghuming=VARCHAR
    mima=VARCHAR
    xingming=VARCHAR
    xingbie=VARCHAR
    touxiang=Text
    youxiang=VARCHAR
    shouji=VARCHAR
    '''
    class Meta:
        db_table = 'yonghu'
        verbose_name = verbose_name_plural = '用户'
class zhaopinxinxi(BaseModel):
    __doc__ = u'''zhaopinxinxi'''
    __tablename__ = 'zhaopinxinxi'



    __authTables__={}
    __authPeople__='否'#用户表,表属性loginUserColumn对应的值就是用户名字段,mima就是密码字段
    __sfsh__='否'#表sfsh(是否审核,”是”或”否”)字段和sfhf(审核回复)字段,后台列表(page)的操作中要多一个”审核”按钮,点击”审核”弹出一个页面,包含”是否审核”和”审核回复”,点击确定调用update接口,修改sfsh和sfhf两个字段。
    __authSeparate__='否'#后台列表权限
    __thumbsUp__='否'#表属性thumbsUp[是/否],新增thumbsupnum赞和crazilynum踩字段
    __intelRecom__='是'#智能推荐功能(表属性:[intelRecom(是/否)],新增clicktime[前端不显示该字段]字段(调用info/detail接口的时候更新),按clicktime排序查询)
    __browseClick__='是'#表属性[browseClick:是/否],点击字段(clicknum),调用info/detail接口的时候后端自动+1)、投票功能(表属性[vote:是/否],投票字段(votenum),调用vote接口后端votenum+1
    __foreEndListAuth__='否'#前台列表权限foreEndListAuth[是/否];当foreEndListAuth=是,刷的表新增用户字段userid,前台list列表接口仅能查看自己的记录和add接口后台赋值userid的值
    __foreEndList__='是'#表属性[foreEndList]前台list:和后台默认的list列表页相似,只是摆在前台,否:指没有此页,是:表示有此页(不需要登陆即可查看),前要登:表示有此页且需要登陆后才能查看
    __isAdmin__='否'#表属性isAdmin=”是”,刷出来的用户表也是管理员,即page和list可以查看所有人的考试记录(同时应用于其他表)
    addtime = models.DateTimeField(auto_now_add=False, verbose_name=u'创建时间')
    xlyq=models.CharField ( max_length=255, null=True, unique=False, verbose_name='学历要求' )
    gsxz=models.CharField ( max_length=255, null=True, unique=False, verbose_name='公司性质' )
    gsmc=models.CharField ( max_length=255, null=True, unique=False, verbose_name='公司名称' )
    gsgm=models.CharField ( max_length=255, null=True, unique=False, verbose_name='公司规模' )
    fabushijian=models.CharField ( max_length=255, null=True, unique=False, verbose_name='发布时间' )
    laiyuan=models.CharField ( max_length=255, null=True, unique=False, verbose_name='来源' )
    biaoti=models.CharField ( max_length=255,null=False, unique=False, verbose_name='标题' )
    gzdz=models.CharField ( max_length=255, null=True, unique=False, verbose_name='工作地址' )
    xinzi=models.CharField ( max_length=255, null=True, unique=False, verbose_name='薪资' )
    gzjy=models.CharField ( max_length=255, null=True, unique=False, verbose_name='工作经验' )
    clicktime=models.DateTimeField  (  null=True, unique=False, verbose_name='最近点击时间' )
    clicknum=models.IntegerField  (  null=True, unique=False,default='0', verbose_name='点击次数' )
    '''
    xlyq=VARCHAR
    gsxz=VARCHAR
    gsmc=VARCHAR
    gsgm=VARCHAR
    fabushijian=VARCHAR
    laiyuan=VARCHAR
    biaoti=VARCHAR
    gzdz=VARCHAR
    xinzi=VARCHAR
    gzjy=VARCHAR
    clicktime=DateTime
    clicknum=Integer
    '''
    class Meta:
        db_table = 'zhaopinxinxi'
        verbose_name = verbose_name_plural = '招聘信息'
class news(BaseModel):
    __doc__ = u'''news'''
    __tablename__ = 'news'



    __authTables__={}
    addtime = models.DateTimeField(auto_now_add=False, verbose_name=u'创建时间')
    title=models.CharField ( max_length=255,null=False, unique=False, verbose_name='标题' )
    introduction=models.TextField   (  null=True, unique=False, verbose_name='简介' )
    picture=models.TextField   ( null=False, unique=False, verbose_name='图片' )
    content=models.TextField   ( null=False, unique=False, verbose_name='内容' )
    '''
    title=VARCHAR
    introduction=Text
    picture=Text
    content=Text
    '''
    class Meta:
        db_table = 'news'
        verbose_name = verbose_name_plural = '新闻资讯'
class systemintro(BaseModel):
    __doc__ = u'''systemintro'''
    __tablename__ = 'systemintro'



    __authTables__={}
    addtime = models.DateTimeField(auto_now_add=False, verbose_name=u'创建时间')
    title=models.CharField ( max_length=255,null=False, unique=False, verbose_name='标题' )
    subtitle=models.CharField ( max_length=255, null=True, unique=False, verbose_name='副标题' )
    content=models.TextField   ( null=False, unique=False, verbose_name='内容' )
    picture1=models.TextField   (  null=True, unique=False, verbose_name='图片1' )
    picture2=models.TextField   (  null=True, unique=False, verbose_name='图片2' )
    picture3=models.TextField   (  null=True, unique=False, verbose_name='图片3' )
    '''
    title=VARCHAR
    subtitle=VARCHAR
    content=Text
    picture1=Text
    picture2=Text
    picture3=Text
    '''
    class Meta:
        db_table = 'systemintro'
        verbose_name = verbose_name_plural = '关于我们'
class messages(BaseModel):
    __doc__ = u'''messages'''
    __tablename__ = 'messages'



    __authTables__={}
    __hasMessage__='是'#表属性hasMessage为是,新增留言板表messages,字段content(内容),userid(用户id)
    addtime = models.DateTimeField(auto_now_add=False, verbose_name=u'创建时间')
    userid=models.BigIntegerField  ( null=False, unique=False, verbose_name='留言人id' )
    username=models.CharField ( max_length=255, null=True, unique=False, verbose_name='用户名' )
    avatarurl=models.TextField   (  null=True, unique=False, verbose_name='头像' )
    content=models.TextField   ( null=False, unique=False, verbose_name='留言内容' )
    cpicture=models.TextField   (  null=True, unique=False, verbose_name='留言图片' )
    reply=models.TextField   (  null=True, unique=False, verbose_name='回复内容' )
    rpicture=models.TextField   (  null=True, unique=False, verbose_name='回复图片' )
    '''
    userid=BigInteger
    username=VARCHAR
    avatarurl=Text
    content=Text
    cpicture=Text
    reply=Text
    rpicture=Text
    '''
    class Meta:
        db_table = 'messages'
        verbose_name = verbose_name_plural = '留言板'
class discusszhaopinxinxi(BaseModel):
    __doc__ = u'''discusszhaopinxinxi'''
    __tablename__ = 'discusszhaopinxinxi'



    __authTables__={}
    addtime = models.DateTimeField(auto_now_add=False, verbose_name=u'创建时间')
    refid=models.BigIntegerField  ( null=False, unique=False, verbose_name='关联表id' )
    userid=models.BigIntegerField  ( null=False, unique=False, verbose_name='用户id' )
    avatarurl=models.TextField   (  null=True, unique=False, verbose_name='头像' )
    nickname=models.CharField ( max_length=255, null=True, unique=False, verbose_name='用户名' )
    content=models.TextField   ( null=False, unique=False, verbose_name='评论内容' )
    reply=models.TextField   (  null=True, unique=False, verbose_name='回复内容' )
    '''
    refid=BigInteger
    userid=BigInteger
    avatarurl=Text
    nickname=VARCHAR
    content=Text
    reply=Text
    '''
    class Meta:
        db_table = 'discusszhaopinxinxi'
        verbose_name = verbose_name_plural = 'zhaopinxinxi评论表'

五,相关作品展示

基于Java开发、Python开发、PHP开发、C#开发等相关语言开发的实战项目

基于Nodejs、Vue等前端技术开发的前端实战项目

基于微信小程序和安卓APP应用开发的相关作品

基于51单片机等嵌入式物联网开发应用

基于各类算法实现的AI智能应用

基于大数据实现的各类数据管理和推荐系统

 

 


原文地址:https://blog.csdn.net/whirlwind526/article/details/140141356

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!