Skip to content

图书管理系统-基于Web,使用python的Django框架开发,数据使用Scrapy进行采集。

Notifications You must be signed in to change notification settings

wangyitao/BookRecommandSystemWeb-with-Django

 
 

Repository files navigation

2018/5/22更新

python选修课期末作业 ---- 图书推荐系统

后端使用python框架Django,调度任务的程序运行基于python高级调度框架APScheduler,使用Scrapy框架进行数据的爬取,彩蛋游戏使用unity2D进行开发

	项目描述:  
需求分析:
		1.学校图书馆借的书都很容易忘记还,这个时候需要有个软件提醒什么时候还书,或者自动帮我进行书籍的续借(免受罚款的灾难:-D)  
		2.比较难知道学校的新书有什么,需要有一个推送新书的程序告诉我,比如说我关注的一个关键词有python,就会在新书出现python关键字的时候给我推送特别关注的新书  
		3.馆藏空闲通知,有时候,我想要借的书给别人借走了,然后就会特别angry,:-|,这个时候,就特别想要一个程序,可以及时通知我那本书什么时候还回来了  
		4.同类型图书推荐,学校图书馆借阅系统并没有这个功能,有时候我看到一本好书,然后就会想要找跟他类型相同(内容相似)的书,这个时候就需要同类型图书推荐系统,比如图书馆关于shader方面的书很少,这个时候我看到一本关于shader的书,就会特别想知道跟这本书相似的有什么书之类的~~~  
		5.高级搜索功能,学校图书馆借阅系统只能通过出版年份/作者进行排序,这样只能通过一本书的名字来判断好坏,所以,急需增加一本知道图书好坏的功能,所以增加了通过豆瓣评分排序,豆瓣评分人数排序,豆瓣评论人数排序等排序功能  
		6.书籍详情页面显示的内容太少了,学校图书馆的系统,最多显示内容简介跟书名,其他信息都要到其他平台进行搜索,这太麻烦了,所以,想到了,在书籍详情页面增加很多内容,大致有,目录,内容简介,作者,还有评论,关于评论这一部分,想到了通过两种方式来显示,一种是普通的显示,也就是一条一条评论的显示,一种是直接全部文字的词云显示,可以让读者第一时间知道其他人对这本书的第一印象  
		7.同时需要注意的是,所有关于通知的内容(续借,馆藏空闲通知,新书速递)都通过APScheduler调度来完成,也就是,一天运行一次,或者一个月运行一次,避免给服务器造成太大压力。  
	
	
细化功能(按照页面---需要的功能对功能进行细化):
	搜索页面:
		1.评分五角星的绘制	√
		2.登录功能	√
		3.登录后的搜索界面改变,同时可以设置自动续借等功能  √
		4.每本书的样式显示(包含评分,书名,作者等) √
		5.侧边栏的显示:		√
			a.给出常用标签(该名用户经常进行搜索的关键词)
			b.给出缩小范围的年份示例(这个用于缩小范围的年份通过后端获得该页数据的全部年份获得)
			c.给出用于缩小范围的分类示例(这个分类示例通过该页的索书号获得,这个索书号只拿/之前的,比如TP312.561/T,就只显示TP312.561)
			d.给出本次查询点击率最高的书籍
		6.分页功能  √
		7.关键字搜索排序功能,通过对给定的字段搜索,给出按照指定排序规则排好序的书籍列表  √
		8.对自动续借功能的设置,设置完后,界面上打勾,后端使用调度框架 APscheuled每隔一天看一次续借日期是否到期	√
		9.对新书速递功能的设置,设置完后,界面上打勾,后端是使用调度框架APSchedule每隔一个月重新爬取一次图书馆,爬取到的新书通过邮箱推送给用户(如果用户设置了特别关注名单,那么推送时推文会不一样)√
		10.自动补全搜索,当键入某一个字母时,(使用ajax)通过判断获得跟输入的最相似的10个字符串,然后在下方显示出来。
	登录页面: √
		1.Gif验证码
		2.第一次登录时填写邮箱,并通过邮箱发送邮箱验证码	√
		3.使用cookie保存登录状态
	书籍详情页面:
		1.显示书籍详情信息(封面,书名,评分,内容,目录)	√	
		2.显示书籍评论,评论分为文字版和词云版:
			a.文字版评论,正常评论功能,普通的分页,普通的评分,普通的发表评论
			b.词云版评论,将文字版评论全部加起来(现场算),然后使用wordcloud画出印象图
		3.同类型书籍推荐功能:在这里偷个懒,使用python第三方自然语言识别库,识别各本书之间的相似度,选出相似度最高的5本书进行显示
	用户设置界面:		√
		1.设置自动续借的细节功能:比如在图书到期前x天通知我  
		2.设置新书速递的细节功能:比如设置一个我的特别关注列表,新书速递时,给出的推文会变化。		√
		3.查看馆藏空闲通知,查看已经设置了多少个对图书馆的馆藏的空闲通知。
	首页: √
		同搜索界面  √
	用户详情界面:
		1.查看用户已经借了多少本书
		2.为用户生成一份读书报告
	404彩蛋界面:
		通过某些不为人知的操作,可以显示出用unity做的彩蛋游戏。

About

图书管理系统-基于Web,使用python的Django框架开发,数据使用Scrapy进行采集。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 75.6%
  • HTML 17.5%
  • CSS 6.5%
  • JavaScript 0.4%