毕业设计:2023-2024年计算机专业毕业设计选题汇总(建议收藏)
毕业设计:2023-2024年最新最全计算机专业毕设选题推荐汇总
🍅感兴趣的可以先收藏起来,点赞、关注不迷路,大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助同学们顺利毕业 。🍅
1、项目介绍
网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接
推荐算法:权重衰减+标签推荐+热点推荐
- 权重衰减进行用户兴趣标签权重的衰减,避免内容推荐的过度重复
- 标签推荐进行用户标签与新闻标签的匹配,按照匹配比例进行新闻的推荐
- 热点推荐进行新闻热点的计算的依据是新闻阅读量、新闻评论量、新闻发布时间
涉及框架:
Django框架、vue框架、MySQL数据库、jieba、selenium爬虫、BeautifulSoup、vue.js
2、项目界面
(1)数据可视化大屏展示
(2)系统首页
(3)数据爬虫设置
(4)新闻数据管理
(6)新闻数据详情页面
(7)不同类型的新闻数据浏览
3、项目说明
网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接
推荐算法:权重衰减+标签推荐+热点推荐
- 权重衰减进行用户兴趣标签权重的衰减,避免内容推荐的过度重复
- 标签推荐进行用户标签与新闻标签的匹配,按照匹配比例进行新闻的推荐
- 热点推荐进行新闻热点的计算的依据是新闻阅读量、新闻评论量、新闻发布时间
涉及框架:
Django框架、vue框架、MySQL数据库、jieba、selenium爬虫、BeautifulSoup、vue.js
软件功能结构/页面展示
4、核心代码
# -*- coding: utf-8 -*-
'''Author:ZDesc:通过热值对用户进行推送新闻
'''
import datetime
import logging
from logging.handlers import TimedRotatingFileHandlerimport pymysqlfrom Spider.settings import DB_HOST, DB_USER, DB_PASSWD, DB_NAME, DB_PORTlogger = logging.getLogger(__name__)
logger.setLevel(level=logging.INFO)
formatter = logging.Formatter('%(asctime)s - %(levelname)-7s - %(message)s')# 2. 初始化handler,并配置formater
log_file_handler = TimedRotatingFileHandler(filename="Recommend/recommend/hlg.log",when="S", interval=10,backupCount=20)
log_file_handler.setFormatter(formatter)# 3. 向logger对象中添加handler
logger.addHandler(log_file_handler)class NewsRecommendByHotValue():def __init__(self):self.db = self.connect()self.cursor = self.db.cursor()self.userlist = self.loadDBData()# self.news_tags = self.loadFileData()self.result = self.getRecResult()def connect(self):'''@Description:数据库连接@:param host --> 数据库链接@:param user --> 用户名@:param password --> 密码@:param database --> 数据库名@:param port --> 端口号@:param charset --> 编码'''db = pymysql.Connect(host=DB_HOST, user=DB_USER, password=DB_PASSWD, database=DB_NAME, port=DB_PORT,charset='utf8')return dbdef loadDBData(self):'''@Description:加载数据库用户数据@:param None'''sql_s = 'select userid from news_api_user'try:self.cursor.execute(sql_s)useridlist = self.cursor.fetchall()except:logging.error("Database Error")self.db.rollback()return useridlistdef getRecResult(self):'''@Description:加载数据库新闻热度数据并进行热度推荐@:param None'''sql_s = 'select news_id,news_hot from news_api_newshot order by news_hot DESC limit 0,20;'self.cursor.execute(sql_s)newsidlist = self.cursor.fetchall()print(newsidlist)time = datetime.datetime.now().strftime("%Y-%m-%d")for user in self.userlist:print(user[0])for newsid in newsidlist:sql_w = 'insert into news_api_recommend(userid, newsid, hadread, cor, species, time) values (%d, %d, 0, %.2f, 2, \'%s\')' % \(int(user[0]), int(newsid[0]), 1, time)logger.info("sql_w:{}".format(sql_w))try:self.cursor.execute(sql_w)self.db.commit()except:logger.error("rollback:{}".format(newsid[0]))self.db.rollback()return Truedef beginrecommendbyhotvalue():NewsRecommendByHotValue()
5、源码获取方式
🍅由于篇幅限制,获取完整文章或源码、代做项目的,查看我的【用户名】、【专栏名称】、【顶部选题链接】就可以找到我啦🍅
感兴趣的可以先收藏起来,点赞、关注不迷路,下方查看👇🏻获取联系方式👇🏻