基于Python的塔读小说网数据采集与分析_第1页
基于Python的塔读小说网数据采集与分析_第2页
基于Python的塔读小说网数据采集与分析_第3页
基于Python的塔读小说网数据采集与分析_第4页
基于Python的塔读小说网数据采集与分析_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南商务职业技术学院毕业设计

目录

1引言.......................................................................................................................1

1.1项目背景........................................................................................................1

1.2开发环境与工具............................................................................................1

1.2.1Python简介........................................................................................1

1.2.2Python网络爬虫简介........................................................................2

1.2.3Hive简介............................................................................................2

2需求分析...............................................................................................................3

2.1可行性需求分析............................................................................................3

2.2采集目标功能分析........................................................................................4

2.3关键技术分析................................................................................................4

2.3.1网络爬虫技术.....................................................................................4

2.3.2文件存取技术.....................................................................................5

2.3.3数据可视化技术.................................................................................6

3数据采集...............................................................................................................7

3.1采集页面分析................................................................................................7

3.2页面静动态分析............................................................................................8

3.3pycharm编程实现.........................................................................................9

4数据清洗与处理.................................................................................................10

4.1数据清洗......................................................................................................10

4.2数据储存.......................................................................................................11

4.3编程实现......................................................................................................12

5数据统计与分析.................................................................................................13

5.1数据准备......................................................................................................13

5.2数据展示......................................................................................................14

5.2.1根据小说类型数量进行统计分析...................................................14

5.2.2根据塔读小说周人气值进行统计分析...........................................15

5.2.3根据每本小说的字数进行统计分析...............................................16

1

湖南商务职业技术学院毕业设计

6总结.....................................................................................................................17

参考资料........................................................................................................................19

2

湖南商务职业技术学院毕业设计

基于Python的塔读小说网数据采集与分析

1引言

时光如梭,从2019年疫情爆发开始到现在2023年疫情彻底结束已经三年

了,大数据的时代已经彻底到来。在疫情期间,也让人们体会到了大数据的各

种用处,比如通行码、健康码、各种数据统计等等都需要利用大数据来实现的。

并且在此期间出门才发现没有手机几乎寸步难行,现在不管是交通还是购物基

本上都是网上支付的,这也充分体现出了大数据给人们带来的便利。但凡事都

是有两面性的,有利必有弊,自大数据发展起来,社会上各行各业都在使用大

数据来实现各种业务,使得人们不得不学习大数据,再加上网络诈骗横行,使

得人们对大数据有着不同的看法。

1.1项目背景

一个出色的小说网站是需要由很多很多受欢迎的小说组成的,但是仅仅把

好的小说随便放在网页上面也是不行的,所以我们就要对小说的数据进行统计,

然后分类再汇总。

要想让网站受到读者的青睐,首先就是要把网站一点进来的那页封面做的

有吸引力,让他们有想继续看下去的欲望。然后还得小说分类整洁易懂,就是

要做到让他们想找哪本小说能很快的找到,这就代表网站的搜索性能要非常的

准确,而在网站上有那么多的小说我们很难做到这些东西。

如果想做到以上说的这些,我们可以对小说的类型、字数、作者和点击量

等等通过python爬虫技术获取出来这些数据,然后对数据再进行统计分析以及

汇总。所以我这次做这个项目的主要目的就是对塔读小说网中的小说进行一些

处理,可以让大家清晰的看见这个网站的小说的各种信息。所以我的本次的内

容包括了数据爬取、数据清洗、数据储存以及数据的可视化来对我的数据进行

处理。

1.2开发环境与工具

1.2.1Python简介

20世纪80年代末,荷兰的龟叔(GuidoRossum)创造了Python,Python

创建的初期并没有引起大多数人们的关注,在21世纪初Google在大量的项目业

1

湖南商务职业技术学院毕业设计

务上大规模的开始应用Python,Python也因此走进大众的视野,从而促使

Python的发展。

随着计算机技术的日新月异,2010年后移动互联网的大肆普及。云计算、

大数据等信息技术兴起,其中的大数据技术涉及到的数据获取、清洗处理、可视

化都有Python的身影存在。云计算中最主要的框架Openstack就是由Python

开发而来,并且Openstack许多接口都支持Python的调用,对于平台实现自动化

极其友好。再到后来人工智能技术的崛起,AI领域使用了更多的Python技术,

用它作为机器学习、关键算法的开发工具。并且Python入门难度相较于JAVA、

C++等面向对象的语言而言更加简单容易入门、所以它很快的便走进了大众的视

野中。

最后,在编程语言排行榜中。Python的排名已经与老牌的C语言和JAVA语

言不相上下,它也逐渐走进非IT行业工作者的视野内。现如今,人们用它开发简

单的小脚本用来做文件的自动化处理或者开发一些小网站打发无聊时光。这也

突出Python的特点就是易学、第三方库足够丰富、并且免费开源、支持跨多平

台且可移植性比较强。

1.2.2Python网络爬虫简介

网络爬虫也被大家称为网络蜘蛛、网络机器人,是一种按照一定的规则,

自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、

自动索引、模拟程序或者蠕虫。能自动下载网页的计算机程序或自动化脚本,

就像一只蜘蛛一样在互联网上沿着URL的丝线爬行,下载每一个URL所指向的

网页,能够分析页面内容。

网络爬虫的核心作用是索引和分析收集到的信息,它使用特定的算法来提

高抓取效率和结果的相关性。网络爬虫通常从一个或多个初始网页开始,通过

分析这些网页上的链接,不断抽取新的链接加入到抓取队列中,直到满足某个

预设的条件。

爬虫的原理也分为很多种类型,比如我们了解的就有通用网络爬虫(抓取

的是一整张页面)、聚焦式网络爬虫(抓取的是页面中特定的局部内容)、增

量式网络爬虫(抓取网站中最新更新出来的数据)和深层网络爬虫(抓取表单

提交后的内容)这四种。

1.2.3Hive简介

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为

2

湖南商务职业技术学院毕业设计

一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce

任务进行运行。Hive设计的初衷是:对于大量的数据,使得数据汇总,查询和分

析更加简单。它提供了SQL,允许用户更加简单地进行查询,汇总和数据分析。

Hive其实是一个翻译器,它将SQL语句,通过Hive引擎翻译为MapReduce

程序,Hive是构建在HDFS上的一个数据仓库(DataWarehouse),如果我不

是开发人员,但我懂一些SQL,那我就可以用Hive,所以说,它减低学习

MapReduce的成功,使DBA、运维人员可以通过SQL来实现操作大数据。

Hive的体系结构:最低层是存储和计算层,包括Hadoop集群和RDBMS。RDBMS

也即关系数据库,比如MySQL,Derby。往上,是Hive服务层。HiveDriver成

为Hive的驱动,传入的SQL语句转成MapReduce是由HiveDriver完成。Hive

Driver包含编译器、优化器、执行器等。

Metastore的模块负责将Hive中元数据保存到RDBMS。Hive中的元数据包

括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数

据所在目录等。

2需求分析

2.1可行性需求分析

1、技术可行性

Python作为现在网络上最流行且最全面的计算机编程语言,此次项目中就

是使用Python编程语言编写程序来实现对数据的抓取、数据可视化、数据分析

等功能。但是在数据可视化的过程中我们会发现对小说类型进行统计的时候使

用python语言会格外的麻烦,不仅要连接数据库还得讲抓取到的csv文件导入

数据库中,所以我在这一步就引用到了hive里面的一些功能来实现这一程序。

首先建立数据库再用sql语句将csv文件导入数据表当中,最后再将小说类型

进行统计,统计结果直接导入到python当中使用即可。这便是技术的可行性。

2、项目可行性

21世纪的人们普遍压力都变得十分沉重,不管是来自社会的压力也好还是

学习上的压力都压得我们喘不过气来。所以说在这样的一个环境中人们都需要

一部小说来满足自己的一些幻想,比如一些纯爱的言情小说、玄幻的武侠小说

和一些爽文都能让自己在闲暇之余扶贫那零零散散的心情。

在此项目中就是针对压力大的人群展开的一些统计,我通过对塔读小说的

一些数据采集大致列出来本网站的各种类型小说来分析出最受大众所喜爱的小

3

湖南商务职业技术学院毕业设计

说类型,并用数据可视化技术展现到读者面前。最后还将小说的作者、小说名

称、小说字数以及人气。

2.2采集目标功能分析

我这次项目是对塔读小说网的数据采集,首先是通过网络爬虫将网站的部

分小说信息爬取出来,再而数据清洗出来比较完整的数据,查看数据是否准确

无误。确定爬取到的小说信息无误后再进行后面的操作。

本次项目主要是分析塔读小说周人气榜上的小说信息,明确我们要爬取周

人气榜小说的小说名字、小说作者、小说字数、小说类型以及小说的人气值。

从小说的类型进行分析,看哪几种小说类型是受绝大数读者喜爱的;从小说的

人气值进行分析,看周人气榜的前二十名都是哪些小说,让读者清晰的看出前

二十名小说的名字以及人气是多少;从小说的字数进行分析,看一本小说的字

数大概是多少,是否适合闲暇时间少的读者来阅读,最后将这些数据利用图表

的方式展现在读者面前,让每一位读者都对塔读小说网的周人气小说榜有个大

概的了解。

2.3关键技术分析

2.3.1网络爬虫技术

在很多时候我们可能需要上网查询一些所需的资料,一般都是经过复制粘

贴来获取我们所需要的东西,但一旦我们所需要爬取的数据过多或者多要爬取

的数据有很多因素限制时会使我们复制粘贴工程量非常庞大且麻烦。所以在这

种时候我们就需要一些渐变的方法将我们需要的数据爬下来,而网络爬虫技术

就是为这项工作诞生的,下面我们就详细的来了解一下网络爬虫技术。

网络爬虫也被称为网络蜘蛛、网络机器人,是一个自动下载网页的计算机

程序或自动化脚本,简单的来说就是利用python代码编写程序抓取网页的内

容。该技术就像一只蜘蛛一样在互联网上沿着URL的丝线爬行,下载每一个URL

所指向的网页,分析页面内容。

在我们所着重学习的网络爬虫原理共有四种,分别有通用网络爬虫(抓取

的是一整张页面)、聚焦式网络爬虫(抓取的是页面中特定的局部内容)、增

量式网络爬虫(抓取网站中最新更新出来的数据)和深层网络爬虫(抓取表单

提交后的内容)。

在没有接触网络爬虫技术之前我们通常认为这与黑客技术差不多,都是利

4

湖南商务职业技术学院毕业设计

用代码程序爬取别人的数据,与盗窃别人的东西一样是不好的。但这不仅仅是

大众对网络爬虫的印象,也是我这种计算机专业的学生在没有接触网络爬虫前

的样子。在我开始接触之后才发现网络爬虫与黑客有着很大的区别,最重要的

一条就是黑客是属于违反法律肆意盗窃别人的个人隐私或者一些对国家和团队

有价值的信息以此来获得自身利益。而爬虫技术目前,多数网站允许将爬取的

数据用于个人使用或者科学研究。只要不拿爬取到的数据用于自身获利都是合

法的。

由此可见,网络爬虫技术在合法的情况下是可以随意使用的。它的用途也非

常的广泛,像我们平时想参加喜欢明星的演唱会或者音乐节,自己手动抢很难

抢到票,那么我们就可以通过网络爬虫技术来获取票务信息,并利用这些信息

进行自动购票的功能。我们还可以拿来做我们最需要的数据采集与分析,网络

爬虫可以自动采集大量数据,包括但不仅仅限于文本、图像、视频、音频等,

并对其进行清洗、整合和分析,以发现数据中的规律和趋势,这在数据挖掘、

市场调研、商业分析等领域尤为重要。

那么我们说了那么多爬虫技术我们也不是什么数据都能一下顺利爬取到

的。所以接下来我们就要说一下有些网站设置的反爬技术了,这些网站的一般

手段都有通过User-Agent、访问频度、变换网页结构、账号权限、JS渲染等等

进行检验反爬。虽然这些反爬会阻碍我们爬取我们所需要的数据,但是针对这

些反爬手段我们也有相应的应对策略,若网站通过user-agent来检验反爬我们

就可以通过发送模拟User-Agent来通过检验,将要发送至网站服务器的请求的

User-Agent值伪装成一般用户登录网站时使用的User-Agent值,若它通过访

问频率进行反爬我们又可以通过备用IP测试网站的访问频率阈值,然后设置访

问频率比阈值略低。这种方法既能保证爬取的稳定性,又能使效率又不至于过

于低下。就是说它需要什么我们就给它什么,这样我们就可以顺利的通过反爬

成功爬取到我们所需的数据。

2.3.2文件存取技术

对于爬取的数据,使用Excel文件进行存储,在Pycharm中存取数据如图

2-1显示。

5

湖南商务职业技术学院毕业设计

图2-1pycharm存取数据

2.3.3数据可视化技术

我们将数据从网页中拿出来之后经过一些简单的处理肯定是不能得到我们

想要的结论的,在这么多条数据当中要想找到我们需要的数据是非常的困难的,

所以我们需要一种技术让这些数据能够变得更简洁。

所以在这里我们就要运用到数据可视化技术,数据可视化技术其实简单一

点说就是类似于“翻译”,是将我们看不懂的数据通过图形化的手段进行有效

地表达,准确高效、简洁全面地传递某种信息,甚至我们帮助发现某种规律和

特征。我们所学的数据可视化方法就是图形,可以将一大堆数据绘制成一个图

表,让我们简单明了的就能看到我们所需要的数据。但你不要看这个图表出来

的时候就那么一点,在编写程序当中可是非常有挑战性的,比如数据量非常大

类型也繁多,况且数据的价值比较低,可能你爬取到几百上千条数据到最后在

图表上无法清晰的看出来,但是大体趋势非常的明显,还有就是高速性。

现在大数据具有多层结构,意味着会呈现多变的形式和类型。相较于传统

的业务数据,大数据存在不规则和模糊不清的特性,造成很难甚至无法使用传

统应用软件进行分析。传统业务数据随时间演变已拥有标准的格式,能够被标

准商务智能软件识别。目前,企业面临的挑战是处理并从各种形式呈现的复杂

数据中挖掘价值。

6

湖南商务职业技术学院毕业设计

3数据采集

3.1采集页面分析

我们一开始点进火狐浏览器搜索塔读小说网进入官方网站,然后找到塔读

小说文学的书库内容如图3-1,其中URL是“/store/98

-a-0-12-a-20-p-1-909”然后点击页面最下方的分页按钮,同时观察URL,发现

URL有变化,然后我们就可以开始查看网站其他信息是否符合要求。

图3-1数据网址页面

按F12调出开发者工具,点进网络选项卡中,重新刷新页面找到网页的头部

信息,如图3-2。

7

湖南商务职业技术学院毕业设计

图3-2开发者工具

我们进入到开发者工具中看到消息头往下翻,可以找到用户代理等消息后

面可能帮助我们顺利的爬取到网页信息,如图3-3。

图3-3user-agent

3.2页面静动态分析

我们按F12调出开发者工具,在开发者工具当中找到“寒门仕途”的html

信息,如图3-4。

8

湖南商务职业技术学院毕业设计

图3-4分析静态页面

再而退出开发者工具单击鼠标右键,点击“检查页面源代码”选项,在弹

出的html源码中,按ctrl+f查找“寒门仕途”关键字如图3-5。

图3-5分析静态网页

发现网页是静态网页。这样做的目的是为了后面我们在对网页进行爬取时

采用哪种方法比较合适,而不用再反过来检查页面问题。

3.3pycharm编程实现

第一步导入所需库,然后因为我的这个网站是静态简易网站所以不需要伪

装成浏览器访问服务器直接开始爬取数据,如图3-6。

9

湖南商务职业技术学院毕业设计

图3-6pycharm爬取页面

4数据清洗与处理

因为爬取到的数据非常的庞大所以我们还得对数据进行清洗,查看数据是

否有无效值和空值。要保证自己的数据的准确无误的展现在读者面前,这对于

信息的质量是一项非常重要的环节。这一步骤最主要的工作就是对我爬取到的

小说数据与网页数据进行核对,检查出数据是否有空值、错值,还有就是检查

每一行的小说信息是否一致。

4.1数据清洗

经过与网站网页的数据比对和检查,发现我们爬取到数据不存在缺失,错位

还有空值,所以我们可以直接通过代码将数据存储到我们本地的csv文件当中,

但是唯一不足的地方就是人气值和字数值里面的字符类型不一致所以我在

excel中在不改变数字值的情况下对其做了一些操作让其只显示数字类型。如

图4-1我们从本地的excel文件中将数据读取出来。

图4-1数据清洗读取页面

如图4-2是读取本地excel文件的数据运行结果。

10

湖南商务职业技术学院毕业设计

图4-2数据清洗准备页面

如图4-3是通过网络爬虫技术从网页爬取到的小说的各种信息存储到本地

excel文件的内容。

图4-3数据清洗完成界面

4.2数据储存

在我们大学期间学到的数据储存方法非常的多,不过最常见的无非就是

txt、csv、exceljson这四种。本次我使用的就是csv存储的数据,但因为为

了后面能对我爬到的数据进行统计所以我还需将数据储存到数据库中。所以还

11

湖南商务职业技术学院毕业设计

需要利用到所学的hive知识数据库,将本地的excel文件通过数据表上传到本

地data上如图4-4所示。

图4-4数据存储到csv文件

创建数据表随后将本地文件导入到数据表当中,图4-5。

图4-5数据存储到MySQL数据库

4.3编程实现

创建hive数据库如图4-6。

图4-6创建数据库

创建数据表并导入csv表格数据到本地data如图4-7。

12

湖南商务职业技术学院毕业设计

图4-7创建数据表并导入数据

查看导入的data数据前十行验证是否成功存入数据如图4-8。

图4-8查看数据

经过验证数据内容与源数据一至过后才能进行下一步操作。

5数据统计与分析

5.1数据准备

在hive中统计出每一种小说类型的数量,如图5-1利用hive统计出来了所

有小说类型的数量。

13

湖南商务职业技术学院毕业设计

图5-1数据准备页面

5.2数据展示

5.2.1根据小说类型数量进行统计分析

将爬取到的小说类型字段数量进行汇总统计和相应的处理可以得出小说类

型出现的大概频率,将统计出来的数据存储到一个列表当中,最后通过数据可

视化技术可以绘制出以上的词云表。然后我们可以从图5-2看出本周最受读者

欢迎的小说类型是历史架空,其次就是东方玄幻、武侠仙侠和灵异悬疑等几种

类型不相上下,不过与前者相比还是相差甚远。从以上数据可以看出本周读者

中大部分都是对我国历史这方面很感兴趣的,在此我又根据小说类型绘制出了

一个饼图来让大家更清晰的看出它们之间的占比如图5-2。

图5-2塔读小说类型词云

14

湖南商务职业技术学院毕业设计

但是我们可以看出玄幻小说这种大类小说类型基本是所有小说里面出现频

率最高的,进而从侧面看出大多数读者在现实生活中都有很大的压力,希望从

小说里面获得快感,在小说中可以满足自己的主角幻想。现在很多人都对小说

带有偏见,但偶尔幻想一下也可以啊,那么多看玄幻小说的后来也不会怎么样,

人有需求和满足欲,这些小说里的东西很多程度上满足了读者的需求,也是一

个情绪宣泄的渠道,就是一段情怀,只要没有沉迷于小说里面去,偶尔看一下

反而能够愉悦自己的心情如图5-3。

图5-3塔读小说网小说类型占比图

5.2.2根据塔读小说周人气值进行统计分析

从图5-5中我们可以直观的看出塔读小说网站在本周最受读者欢迎的人气

排行,寒门仕途和重活1979的人气值远超后面的一些小说。

上面我们也说到了在所有小说类型当中,历史架空、武侠仙侠、东方玄幻

这三类占据了所有类型将近一般的比例,但我们从人气值排行又发现排在前面

的好几个都是现代都市类型的,这样看来读者大多数喜欢的类型并不代表它这

类的作品一定人气也高,读者所注重的并不是一定要看哪一种类型的小说,而

更注重小说本身的内容是否有吸引到自己的地方。有的小说内容非常的简单,

但是它的类型却很受读者欢迎也是会有很多人点进去看,不过这些质量不高的

作品在读者看过以后都会留下评论,后面的读者看到评论过后就不会点进去看

了。

好的小说从来都不是跟风就能受读者喜欢的,现在的小说内容基本都是大

15

湖南商务职业技术学院毕业设计

差不差的,缺少的就是一些新颖的内容,所以我们要在小说内容的质量上花更

多的心思,而不是盲目的增加小说的数量。从这里看来很多作者为了自己也能

火起来盲目的写了很多市面上相同类型的小说,导致很多的小说烂大街,而质

量好的小说与其他小说的差距也只会越来越大,两级分化越来越严重如图5-4。

图5-4塔读小说周人气top20

5.2.3根据每本小说的字数进行统计分析

在这里我们通过对本周人气小说的字数进行统计绘制出了一个折线图表。

但是由于数据过多,我们无法看清每一步小说的名称和字数,所以我就只对小

说字数的上下限和平均数进行了标注。从表中我们可以轻易看到这些小说最多

字数、最低字数和平均字数,字数最多的小说已经达到了500多万字,可以见

得这部小说的作者花费的心思肯定也不少,然后我们又看到字数最少的仅仅只

有19000,平均每部小说的字数都已经达到了81万字左右。

由此可见要想完成一部小说的工程量还是比较巨大的,虽然单从小说的字

数来看并不能看出些什么,但我觉得如果没有丰富的知识储备量想必也写不太

多的内容来如图5-5。

图5-5小说总字数分析

16

湖南商务职业技术学院毕业设计

6总结

综上所述,我们可以得知读者对历史、武侠、玄幻、悬疑这些方面的内容比

较感兴趣。不管是作者还是网站大趋势可以先考虑这方面的内容进行创作和推

广,这样可以让小说作者在数不胜数的小说类型中规避很大部分的选材内容,

可以将更多地精力投入到提高小说内容中去,让这方面的小说得到史无前例的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论