实训日记 | Day 18. 我的项目介绍
总述
今天是8月12日,实训的第18天。实训即将步入尾声。
今天孟老师依然全天给同学们进行答疑。
我整理了一下我的项目的相关信息以准备明天后天的答辩。
整理内容如下。
简介
- 名称:指上云霄手机信息查阅系统
- 功能:提供爬虫和数据可视化两部分功能。
- 爬虫:可以在页面上调用后台接口,爬取ZOL手机报价网站上的数据并存储到数据库中。
- 数据可视化:可以在页面上显示手机的相关数据信息。
- 开发工具:PyCharm
- 后台开发语言:Python3
- 前端开发语言:HTML5+CSS+JavaScript
- 作者:张仁忠(Zorua) 2018065527
- 指导老师:孟老师(mzm5466)
应用页面
应用的页面有登录注册页面、数据可视化首页、爬虫页面、数据柱状图页面、关于页面五个页面。
登录注册页面


- 在图1中点击注册按钮可切换为图2界面,图2界面点击返回按钮可切换为图1界面。
- 在注册登录界面,对填充的文本内容有长度和字符内容的限制。例如用户名和密码只能为字母和数字组成。
- 在此界面注册后,密码将以加密后的文本进行存储。
- 如果还未登录,企图访问其他网页,则会自动跳转至登录注册页面。反之,若在登录后,访问该登录注册页面,将会自动跳转至首页。
数据可视化首页

- 数据可视化首页会在顶部显示当前的数据库条目数量。
- 数据可视化首页显示的手机信息的序列,将是一个随机序列。
- 在刚载入页面时,首页只会显示8条数据。当滚轮被滑到底部时,将会再次载入至多4条数据。实现了动态加载数据的过程,直至数据库的所有数据都已呈现。
- 每次载入的数据都是从后端被渲染完毕后,以HTML的形式插入的。
- 每个标签左侧会读取数据库中的基本信息并显示,右侧会以echarts雷达图的形式显示当前的数据和平均的数据。
爬虫页面

在文本框填入要爬取数据的第几页,点击爬虫,即可爬取数据。
数据来源是ZOL手机报价。
- 如果选择的页号已经被爬取到数据库中,后端将会拒绝该爬取请求。
- 如果选择的页号不符合要求,后端也会拒绝该爬取请求。
- 清空数据库前,需要填入事先在后端设置好的密码。
数据柱状图页面

该页面将会呈现数据库中所有条目的售价以及得分状况。通过调节图像四周的工具,可以获取不同的信息。
关于页面

关于页面比较简单,仅仅只是显示了本文档的简介部分的内容。在此不再赘述。
接口
接口分成两个模块,UserInfo模块和echarts模块。
UserInfo
- index,被请求时,将会返回登录注册页面。
- user_login,仅能被POST请求,参数为username和password。用于登录。
- user_register,仅能被POST请求,参数为username和password及emailAddress。用于注册。
- user_activate,能被GET请求,参数为id。用于注册账号的激活。将会返回一个JsonResponse。
- is_login,参数为id。被请求时,会检查浏览器的session,查看是否登录。
- user_logout,参数为id。被请求时,将会删除浏览器的session。
echarts
- 空,被请求时,返回数据可视化首页。
- run_page,被请求时,返回爬虫页面。
- hot_page,被请求时,返回数据柱状图页面。
- about,被请求时,返回关于页面。
- timenow,被请求时,返回含有系统现行时间信息的JsonResponse。
- run,参数为index,仅能被POST请求。被请求后,将会启动爬虫程序。
- get_hot_json,被请求时,返回一个字典。字典内容为数据库中所有手机的名称、价格、分数数据。
- delete,仅能被POST请求。将会清空数据库数据。
- get_data,参数为index,将会从数据库中读取序号为index的手机数据并返回一个JsonResponse。
- get_random_dict,以列表的形式产生一个随机的序列。
- get_average,被请求时,将以JsonResponse返回数据库中所有数据的评分的平均值。
- init_zorua_box,参数为index,将读取数据库中的数据,并对指定的HTML文件进行渲染,然后将渲染后的HTML文件返回。
数据库结构
- User(id,username,password,is_activate)
- Phone(id,name,price,img,score)
- config(phone,soc,camera,camera_vice,ram,battery,screen_size,image)
- evaluation(phone,cost_performance,performance,endurance,design,photograph)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Zorua's Blog!
评论





