基于大数据背景下Python的当当网好评榜图书数据爬虫技术的应用

发布于:2022-11-07 ⋅ 阅读:(1080) ⋅ 点赞:(0)

摘要

随着社会的不断发展,数据时代的到来,数据的背后是什么,数据有什么用,怎么用庞大的数据来呈现出数据的价值,让我们一起去揭开它神秘的面纱。

以当当网好评榜图书500本图书数据爬取为例,介绍网络爬虫的基本原理,Python环境的搭建,PyCharm scrapy模块的爬虫数据的运用,把获取到的数据进行清洗、整合,储存数据到MySQL,然后进行数据可视化的呈现,简单对呈现的图进行数据分析。

  PythonMySQLPyCharm;爬虫;数据分析;数据呈现。

1 绪论 

1.1 背景及意义

1.1.1 背景

在大数据时代,人类社会的数据正以前所未有的速度增长。数据蕴含着巨大的价值,无论是对个人工作、生活,还是对企业未来的发展和创新商业模式,都有着很大的帮助。充分挖掘数据潜在价值,能帮助人们找到更合适的合作对象、更便宜的生活用品,也能帮助企业找到更好的细分市场,有针对性地为企业日后的发展提供数据支撑。数据让人们更好地掌握市场动向,更好地应对市场,产生新的合理的决策。

数据背后所隐藏的巨大商业价值正开始被越来越多的人所重视,那么数据从何而来?可以从网上找数据,但是人工提取数据效率太低,从经济角度也不可行。购买数据是一 个办法,但是目前公开交易的数据少之又少,很难与多样化的数据需求匹配。因此,对很多人和企业来说,如果想获取全面、有效、 准确的数据, 编写爬虫抓取数据是一种明智之选

1.1.2 目标及意义

目标:数据来源于当当网图书好评榜官网的公开信息,如图2-1所示,爬取图书好评榜公示信息数据,主要包括书名、出版社、评论条数、日期、五星评分、价格的信息。

图1-1当当网官网公开信息

意义:

  1. 指示好评榜图书评论条数的排名。
  2. 指示好评榜图书出版社名次排名。
  3. 指示好评榜图书五星好评次数排名。
  4. 指导我们在看图书和理解书中内容的方法和建议。

1.2 应用现状

近些年,随着越来越多的企业对数据价值的认识不断提升,数据分析工具得到了前所未有的关注,特别是以自助式BI为代表的分析产品。据知名调研机构Gartner预计,2019年使用自助式BI产品的用户将超过专业的数据分析人员。与此同时,在人工智能、机器学习等前沿技术的推动下,数据分析工具也正在向着自动化、智能化的方向发展,未来,数据价值也势必会得到更好的挖掘和体现。

1.3 主要板块

(1)数据获取板块

数据获取板块功能[1]主要是依据分析目的及要达到的目标,确定获取的数据种类,并使用直接获取数据文件方式或爬虫方式获取原始数据。

(2)数据预处理板块

数据预处理板块功能是对获取到的数据进行预处理操作:选择重要字段,标准化处理,异常值处理等预处理操作。

(3)数据存储板块

数据存储板块主要功能是把经过预处理的数据持久化存储,以便于后续分析。

(4)数据分析板块

数据分析板块主要功能是根据分析目标,找出数据中字段之间的内在关系,与规律。

(5)数据可视化板块

数据可视化板块主要功能是使用适当的图标展现方式,把数据的内在关系、规律展现出来。

1.4 主要方法及技术路线

1.4.1 主要方法

(1)数据获取;本文中数据的获取方式是直接获取当当网好评榜图书数据。 

(2)数据清洗[2]:本文数据清洗使用的是python技术,通过python语言读取数据文件,并入库操作。在入库之前,剔除无用字段、标准化处理。

(3)数据分析:在数据库中使用sql语言多维度排序分析。

(4)分析结果展示与说明:将分析结果通过python绘制趋势图可视化展现。

1.4.2 技术路线

本文结合研究内容和研究方法,制定具体技术路线图如图1.1所示。

图1.1技术路线示意图

2开发环境及技术 

2.1硬件设备

2.1.1 CPU及操作系统

要求P41.8 GHZ 以上;内存:8 G 以上;操作系统windows7及以上;

2.1.2 其他

网络、交换机、防火墙、输入输出设备等

2.2软件及IDE

2.2.1 MySql

MySQL 是一个小型关系型数据库管理系统,关系型数据库是目前最常用的数据库类型,它的访问速度更快、数据表示更灵活。MySQL 支持结构化查询语言 SQL,数据查询简便快捷。MySQL 软件采用了 GPL,即 GNU 通用公共许可证,保证了我们共享和修改自由软件的自由。虽然与其他的大型数据库如 Oracle、SQL Server 等相比,MySQL 规模相对较小,功能也不如其竞争对手强大,可以说有诸多缺点,但是对于中小型企业来说,MySQL 的规模和功能已经足够。而 MySQL 的优点在于体积小、速度快、跨平台,特别是开放源码这一特点,可以获得大量免费资源,促使许多中小型网站都选择My SQL 作为网站后台数据库支持,以降低网站总体成本。

MySQL 的核心程序采用完全的多线程编程,服务灵活,支持多线程,可以充分利用 CPU 资源。MySQL 支持多种接口,JDBC、ODBC、PHP、C 语言、Python、Perl、Ruby、VB 都可以与 MySQL 数据库直接连接提出数据。MySQL服务器提供了连接池,也就是多线程,可以同时为多个客户端提供服务。 常用的 MySQL 管理工具有 MySQL Workbench、MYSQL Front和 PHPMy Admin 等,其中最为出色的是基于Web的PHPMyAdmin 工具。PHPMyAdmin  是一个用 PHP 编写的,免费的数据库前台管理工具,可以通过web方式控制和操作MySQL 数据库。它支持常用的数据库操作,包括管理数据库、表格、字段、联系、索引、用户、许可等增、删、改、查各种操作。PHPMyAdmin 的缺点是必须安装在Web服务器上,所以访问权限如果设置的不正确,就有可能遭到黑客攻击使数据受损。

2.2.2 Wampserver64

在windows下将Apache+PHP+Mysql 集成环境,拥有简单的图形和菜单安装和配置环境。PHP扩展、Apache模块,开启/关闭鼠标点点就搞定,再也不用亲自去修改配置文件了,WAMP它会去做。再也不用到处询问php的安装问题了,wampserver一切都搞定了。

这个软件是完全免费的,可以在其官方网站下载到最新的版本。本文中使用的版本是WampServer 2.0f(发布日期2008年12月16日),其中包括Apache 2.2.11,PHP 5.2.8,MySQL 5.1.30。

wampserver支持22种语言,其中有中文简体和中文繁体(安装并启动后右键托盘图标即可轻松更改)。

2.2.3 IDE

比较流行的开发环境是PyCharm。它的风格类似Eclipse是一种专门为Python 开发的IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制

2.3主要技术

2.3.1 SQL

Navicat for MySQL是一款强大的 MySQL 数据库管理和开发工具,它为专业开发者提供了一套强大的足够尖端的工具,但对于新用户仍然易于学习。Navicat for MySQL 基于Windows平台,为 MySQL 量身订作,提供类似于 MySQL 的管理界面工具。此解决方案的出现,将解放 PHP、J2EE 等程序员以及数据库设计者、管理者的大脑,降低开发成本,为用户带来更高的开发效率。

Navicat for MySQL使用了极好的图形用户界面(GUI),可以用一种安全和更为容易的方式快速和容易地创建、组织、存取和共享信息。 用户可完全控制 MySQL 数据库和显示不同的管理资料,包括一个多功能的图形化管理用户和访问权限的管理工具,方便将数据从一个数据库转移到另一个数据库中(Local to Remote、Remote to Remote、Remote to Local),进行档案备份。 Navicat for MySQL支持 Unicode,以及本地或远程 MySQL 服务器多连线,用户可浏览数据库、建立和删除数据库、编辑数据、建立或执行 SQL queries、管理用户权限(安全设定)、将数据库备份/复原、汇入/汇出数据(支援 CSV, TXT, DBF 和 XML 档案种类)等。软件与任何 MySQL 5.0.x 伺服器版本兼容,支援 Triggers,以及 BINARY VARBINARY/BIT 数据种类等的规范。

2.3.2 Python

Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido Van Rossum于1989年发明。Python的第一个公开发行版于1991年发行。

Python语言具有以下特点:

  1. 开源、免费、功能强大。
  2. 语法间接清晰,强制用空白符(white space)作为语句缩进。
  3. 具有丰富和强大的库。
  4. 易读、易维护、用途广泛。
  5. 解释性语言,变量类型可变,类似JavaScript

3 可行性分析与模块设计

3.1 可行性分析

3.1.1 技术可行性分析

本人掌握python、sql等数据处理技术,并且熟练使用mySql数据库、pycharm集成开发环境,并且在互联网上比较容易获取找到相关技术文档,因此技术思路清晰。

3.1.2 数据可获得性分析

本文分析当当网好评榜图书数据,数据来源真实可靠而且可以轻松获取。

3.2 各模块设计

3.2.1 数据获取方法

数据集来源当当网好评榜图书数据,通过python中的xpath获取html中的数据。

3.2.2 数据预处理设计

对于爬取数据量不大的内容可以使用CSV库来存储数据,将其存为CSV文件格式,再对数据进行数据预处理,也可通过代码进行数据预处理。

3.2.3 数据分析思路设计

通过对当当网好评榜图书数据爬取字段分析,可提供的数据分析如下:

  1. 好评榜图书评论条数的排名分析。
  2. 图书评论价格分析。
  3. 好评榜图书出版社名次排名分析
  4. 好评榜图书五星好评次数排名分析
  5. 图书五星好评价格分析。

 

 

 


网站公告

今日签到

点亮在社区的每一天
去签到