您现在的位置是:首页 > 技术教程 正文

基于Python的BeautifulSoup库爬取电影、图书、音乐数据的数据分析系统设计与实现

admin 阅读: 2024-03-21
后台-插件-广告管理-内容页头部广告(手机)

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

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索