基于Python的BeautifulSoup库爬取电影、图书、音乐数据的数据分析系统设计与实现
后台-插件-广告管理-内容页头部广告(手机) |
3.2 数据库设计
3.3 关键技术
1) 数据爬取:(重点、难点)
在数据爬取时要不断地完善修改代码,因为代码在初始编写时是针对单个页面来写 的, 能适应单个页面不代表能适应所有类型的页面,因为有些页面即使类别相同,所展示的 内容不同有多有少,就会导致爬取的时候代码出现问题, 因此即使对单个页面的爬取代码也 要反复修改多次,来不断能完善。在爬取的代码中,同时也为了防止被豆瓣的反爬机制 所屏蔽而加入了相关代码,但也相应的造成了爬取时间的延长。
2) 数据存储查询优化:(重点、难点)
为了证明数据存取优化的重要性,下面放了一张在服务器上爬取的几个时间节点的资源消耗图。最左边的一段峰值点时段就是使用未优化过的查询语句所造成的。在完成语 句的优化后,后几次爬取就未达到如此之高。
3) 数据处理:(重点、难点)
因为不知道数据库里所存储的是否符合所要数据的规范,任何类型的数据都会出现,以及是否有对异常值等,所以在提取出数据后, 还需要对其再做相关的处理, 如对数据缺失、极端值、数据格式不统一等问题进行处理。(下图就是其中的一个数据处理的例子)
4) 图表展示和分析:(重点、难点)
选取完要分析的数据关系后, 就该选择合适的图表来进行输出表示,确定好图表后,还要考虑图表的展现形式, 包括图表中的工具配置等,同时还要对图表进行分析。(下图就是其中的一个数据可视化的例子)
5) Redis 缓存技术:(重点)
一开始在访问网站时,每次生成图表都要再次进行读数据、分析处理数据,这不仅大大 增加了对服务器的性能压力, 同时也加慢了网页的加载速度,由此,选择了 Redis,当图表第一次生成就让 Redis 存储其结果 24 小时,第二次在访问时就可以直接从 Redis 中获取结 果,省去了再次进行读数据、分析处理数据的过程,很好的解决的上述的两个问题。
6) 前端图表的链式调用:(重点)
考虑到如果一加载页面,就一下子请求所有图表,那会对服务器一下子产生很大的压力, 容易出错。所以我们想到了使用链式请求的方法, 一个一个请求图表, 且同时加上 loading 的动态效果,表名当前页面的图表加载状况。
第四章 测试报告
4.1 系统测试的主要内容
为了确保测试的质量,系统多次进行了软件测试, 主要包括代码审阅、模块测试、功能 测试、安全性测试等内容。
代码审阅:在系统实现完成以后,应先对代码的规范性进行检测,并且测试代码的语法 逻辑问题, 保证系统能正常运行。
模块测试: 对系统的主页模块, 页面跳转,搜索框,图表等模块进行测试, 确保其工作 正常。
主要测试过程: 模拟用户访问页面, 不断点击跳转页面; 模拟用户查找特定案例, 进行 搜索框搜索;模拟用户查看数据图表。
测试结果: 页面能正常跳转、搜索功能可以正常使用。词云模块图表展示不正常, 请求 本地时正常。
修正过程: 因为服务器处理数据能力有限,当前条件下在打开相关页面后修改代码可以 达到展示效果。在条件成熟后会选择升级服务器。
4.2 系统模块测试
系统模块测试主要是对系统中各个功能模块进行详细的测试工作,发现问题并处理问题。 测试工作是通过手动反复对系统进行操作,观察系统运行的结果,判断该功能模块是否达到 应用要求。具体测试如下表所示:
表 5-1 系统模块测试表
测试内容 | 测试方法 | 预期结果 | 测试情况 |
主页测试 | 打开 index 主页面 | 打开成功 | 通过 |
页面跳转 | 在页面上点击所有具有链接功 能的模块 | 所有页面都能成功跳转 | 通过 |
搜索框 | 在搜索框内输入想要查询的电 影、音乐或图书 | 若查询内容存在数据集内或有与查 找内容相近内容则显示相应选项, 若没有匹配数据则不显示 | 通过 |
图表 | 将鼠标放在图标表上,并在具 有缩放功能的图标上使用用鼠 标滚轮或点击图表内缩放功能 | 显示鼠标停放位置所对应的相应信 息,三维立体图以及具有缩放功能 的图表能正常缩放 | 通过 |
4.3 系统测试
模块测试的完成只是保证了模块的正常工作,无法保证整个整体工作是否能够正常的运 行。所以在模块测试完成以后, 要进行系统完整的用例测试, 来验证系统是否运行正常。
本系统为基于 Window 10 平台, 系统设计分为四部分。测试过程中首先测试主页面展 示, 确保主页面模块可以正确打开并展示相关内容。然后测试页面跳转模块,能保证页面之 间能够互相跳转。然后测试搜索框模块,确保能够进行精确定位查询, 展示用户所需要查找 的内容。最后测试图表模块, 确保图表能正常显示,以及图表内某一块内容能够展示其独有 的信息。若图表具有缩放功能,测试其能够利用缩放功能对图表的整体或局部内容进行查看。 如果四个模块均正常运行,说明该系统均已正常工作。
4.4 技术指标
通过测试发现,本系统因图表展示较多,运行速度相对较慢达到 6.5s。因为本系统数 据来源为豆瓣,因此数据安全性较高。在系统初期阶段没有上线用户登录注册功能,因此没 有账号安全性的威胁。系统扩展性较强,耦合性较低内聚性较强。本系统的部署非常简单, 方便性极强。可用性很强。
第五章 安装及使用
5.1 安装环境要求
操作系统: Windows 10 或 Centos 7
应用软件环境: Python 3.6 及以上、 Redis、MongoDB(后两个可根据需要搭建)
浏览器:Chrome 或 Firefox
5.2 Python3.7 安装
(注: 以下安装过程皆为 Windows 下的, 如需 Linux 安装教程,请咨询相关服务人员) 去官网下载安装包, 下载链接: Python Releases for Windows | Python.org
进入下载链接后选择对应的版本下载
①点击 customize installation。(自定义安装路径),也可以选择 Install Now 选择默认 路径安装
②勾选 add python 3.7 to PATH(这样可以避免安装后,还要手动去配置 python 的环境变 量)
后续操作默认即可, 安装完成, 点击 close 按钮
win+r,录入 cmd,进入如下窗口,录入: python,点击 enter,出现如下内容,则为安 装成功。
5.3 启动服务
...
...
...
完整方案及学习源码地址:基于Python的BeautifulSoup库爬取电影、图书、音乐数据的数据分析系统源码+文档.zip资源-CSDN文库
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。
在线投稿:投稿 站长QQ:1888636
后台-插件-广告管理-内容页尾部广告(手机) |