1、200数据库系统设计Database System Design电子技术与软件工程Electronic Technology&Software Engineering新时期背景下,电子商务领域不断取得新的发展成果,传统商业模式出现重大变革,随着物联网技术、云计算技术水平的不断提升,市场信息量呈现出十分迅猛的发展势头,属于电商的黄金发展时代已经悄然来临。面对这种发展情况,更加高效的从海量信息中攫取出有价值信息,以此为基础,能够产生更为可观的企业效益,大数据技术由此成为当代电商企业高度重视的领域,市场竞争变得更为剧烈1。大数据技术属于现代化智能领域内的关键组成部分,处于大数据背景下,随着人们现有生
2、活和工作模式的变化,智能化服务在人们生活中变得更加常见,并成为现代化服务方式的主流发展趋势,如:智能购物和智能导航等方面,电子信息技术在这些角度可以为人们带来更好的自动化与智能化服务。在大数据时代与云计算深度不断发展的过程中,通过对关键数据信息的进一步挖掘,不仅可以更加有效的节约出人力资源,同时还能够将广大用户的切实需求与信息技术进行紧密结合,充分运用数据获取、数据分析、数据挖掘、云计算等方式,将电子信息技术整理出的信息资源加以优化与整合,可准确找出具备较高价值的数据,应用效果极佳。本文将大数据技术作为核心研究对象,对我国某购物网站进行数据爬取和专业分析,有针对性的设计一款新型数据分析系统,该
3、系统主要框架为:Scrapy,系统以 Python3.7作为主要编程语言,经过编辑后,可以在 Scrapy 框架内建设期全新的 Web 爬虫,通过这种方式爬取目标购物网站内的相关数据内容,并借助 MongoDB 工具对有价值数据进行系统存储,然后,技术人员可凭借 Python 提供的 Numpy 专业工具包和 Pandas 专业工具包,对爬取到的关键数据进行再一次的清洗,保证筛选后的数据具备研究价值,此后在对数据进行模式转换,提升数据资料的直观性,此后,再对关键的数据内容进行分类设定和计算分析,以此为基础,再由专业技术人员使用 Matplotib 工具对系统的最终分析结果知行统一的可视化处理2
4、。在这样的情况下,分析人员可以对得到的所有商品相关信息和营销数据有一个更加清晰的了解,并保证自身的最终解析结果具有准确性、代表性和针对性,进而为商家提供更为充分的发展数据支撑,并未购物网站的后续发展奠定良好基础,尽可能展现出网站具有的个性化特点,吸引更多新用户的同时,增加自身固有用户的使用黏性。1 信息爬取的关键技术论述1.1 现有Web爬虫技术解析目前,现有网络信息爬取技术,又被称之为爬虫技术,该技术能够以网页链接为基础,通过网址 URL 向系统服务器平台发出数据请求,通过这种方式获取目标的关键数据和信息资料3。常规条件下,现有 Web 爬虫在正式试用过程中,与普通互联网功能性程序具有较高相
5、似性,区别在于爬虫具备自动访问能力,同时还可以对当前 Web 页面中的功能进行有效检索,并从海量数据中准确找出有价值信息,并将爬取到的相应内容和数据转存至提前设定好的数据库内,操作便捷且应用效果良好4。现有网络爬虫技术,在实际使用过程中的基本操作流程详情共包括下述几方面内容:(1)首先,选择更具针对性的系统种子,即 URL 数据。(2)其次,将最终选择的种子,即 URL 数据,全部设定为待抓取状态,形成新的 URL 数据队列,等待抓取即可。(3)再次,在处于待抓取状态的所有 URL 数据队列中进行抓取作用,此间需要配合 DNS 解析,在抓取到的内容经过数据解析处理后,得到的数据资料即为最终的网
6、络 Ip信息及其对应主机信息。(4)再次,执行下载任务命令,将所有 URL 数据中显示的网页数据内容和文字内容下载并转存储至对应的网页数据库内。在此期间,还可以将 URL 放置在已经抓取成功的URL 队列内。(5)再次,对已经抓取到的 URL 队列进行分析,并对其中的 URL 进行处理,将最终得到全部资料,均需要再次转存入到准备好的数据库内,供随时调用。(6)最后,针所有的 URL 关联数据进行统一处理,然后再将分析处理后的 URL 数据移动至第(2)环节的待抓取环节,此后,开始进入到全新的数据抓取循环,直至数据的所有价值被完全挖掘5。1.2 Scrapy基于 Scrapy 的电子商务数据分析
7、系统设计何芳(德州职业技术学院 山东省德州市 253000)摘要:本文以某购物网站为研究对象,同时以产品信息和用户评论数据为基础,设计出一款以 Scrapy 爬虫框架为基础的简易处理后台,借助分布式抓取手段,从海量数据中对用户的主要消费特征进行客观、全面的评价,以此为前提,再次从品牌方面、商品方面和用户方面入手,对相关数据资料进行整合处理,最终将得到的数据可视化结果反馈至前端,进一步呈现出该购物网站的数据分析系统,整理出更具代表性的商品信息和用户可靠评论数据,达到帮助商家准确掌握消费者实际购物需求的消费特点,并以此为基础,改变此前的营销策略,实现提升销售总量的目标。关键词:Python3.7;
8、爬虫;Scrapy;数据可视化;数据分析201数据库系统设计Database System Design电子技术与软件工程Electronic Technology&Software Engineering对于当今市面上比较常见的 Scrapy 框架而言,可以将其视为一种以 Python 为基础技术,进一步升级而成的全新网络爬虫程序,该程序在速度方面和开源方面具有突出优势,不仅可以适配大部分当下的主流网络平台,同时还可以通过关键技术对,目标信息和数据进行精准的读取,仅需要设定Scrapy基础框架,便可以顺利完成后续开发模块的任务制定,爬虫技术的应用效率更高6。本文设计的爬虫任务指令执行流程详情
9、如表 1 内容所示。表 1:工程目录下文件和文件夹作用文件/文件夹作用及其说明spiders爬虫文件放置目录items定义数据实体Middlewares.py中间件,爬取过程中进行特定操作piplines.py定义管道,对爬取到数据进行处理,并将数据保存到数据库settings.py爬虫设置scrapycfg当前爬虫使用的 scrapy 设置(1)Spiders 工具能够将待爬取的关键数据和信息,转存至数据库内,随时可取用。(2)抓取到的数据,在使用 Scheduler 工具进行处理后,还需要再次经过 Scrapy Engine 或者 Downloader Middleware的专业处理,并将
10、最终得到的内容转存至数据库系统内。(3)借助 Downloader,可以向 Internet 平台发送请求,然后使用 Response 将关键数据内容和资料进行分析处理,并将最终结果储存至系统的 Spiders 内。(4)以源自 MySQL、SQL Server、Oracle 等传统类型的关系型数据库内容为例,其数据需要使用Sqoop进行导入,此后主要由 Scrapy Engine 将其转交至数据库系统,并通过Pipeline 工具包实现保存目标。(5)抓取关键数据期间,需要不断重复上述几个流程的具体操作步骤,直至系统内不再产生新 URL 数据请求,或者现有结果已经可以满足分析所需,方可停止循
11、环7。1.3 数据处理与可视化分析数据处理模块需要对数据标准化进行集中处理,在处理数据的过程中还需要及时除去重复数据、缺失数据和其他类型的不可用数据。在此之后,方可对缺失数据执行再次导入处理,可选择手工录入方式、逻辑自动补全方式完成相应处理任务。对于部分错误数据的处理,如:异常数据处理,可以借助区间限定方式,去除或以历史数据为基础,得出数据近似值;对于部分重复数据内容,如:内容全部重复的情况,则可去除重复内容,也可按照时间顺序或不同阶段的业务逻辑进行选择性去除。对于部分不可用数据,还可以使用规则适配处理方式、关键字匹配处理方式、枚举转化处理方式完成必要的修复任务或清除任务。数据处理技术在上述几
12、项关键步骤中的应用效果良好,处理速度更快8。对于数据可视化而言,可以借助 Matplotib 图形库实现可视化功能,因为该图形库是以 Python 语言为核心,具备编程语言简洁优美的主要特点,以此为前提,可以成功绘制出全新的系统直方图、系统条形图、系统功率谱以及系统散点图核心数据资料图。此外,Matplotlib 可提供关于 API 的服务功能,确保图表内容可以完整的嵌入到准备好的画布中,保证制图质量可以达到预期水平9。1.4 系统数据库分析本次属于非关联数据库,在系统语言查询方面具有突出优势,能够有效存储更多的复杂数据内容,并且对数据类型没有过多限制10。在此期间,在数据存取效率方面也具有显
13、著优势。2 数据系统的整体设计2.1 数据分析系统框架结构分析在本次系统设计工作中,主要包括三方面内容,依次为:(1)商品总体营销数据。(2)网站用户消费数据。(3)网站商品列表页详情。在面对词信息云、用户评论词频都能够做到准确抓取。本次系统设计的总体架构详情如图 1 内容所示。图 1:系统架构示意图2.2 爬虫模块分析2.2.1 项目初始化分析在选取某购物网站作为最终的爬取目标后,借助 scrapy startprojectXX_ Spider 生成新的爬虫项目,此时的项目根目录显示为 XX_Spider。同时,在根目录下再次创建如表 1 内容所示的各种文件以及文件夹即可。2.2.2 数据库
14、分析这一层主要由 HDFS、HBase、Hive 组成。其中,数据底层存储需要使用 Hdfs 分布式文件系统6。对于 Hdfs 而言,需要按照根据数据实际大小,选择 NameNode 作为指定datanode 服务器和 block(64M),此间产生的所有数据都需要依次存入到对应的 block 系统中。在上述流程中,因为系统中会存在有大量小文件(体量低于 64M 的文件)则会导致Hadoop 集群出现运行崩溃问题,所以,需要将各种不同类202数据库系统设计Database System Design电子技术与软件工程Electronic Technology&Software Engineer
15、ing型的小文件成功合并成一个单独的大文件再进行存储,此时Hadoop 自带 CombineFileInput-Format 功能可以有效完成文件合并任务,对应的数据仓储系统需要利用 Hive 和 Hbase共同作用实现,数据分析结果的针对性也更强。2.2.3 数据爬取策略分析对于 XX 购物网站而言,其商品评论数量信息量庞大,再加上商品数量基数大的特点,导致全部爬取的难度较高,分析任务量过大,所以,仅爬取部分数据,证明爬取基数具备应用价值即可。本次爬取任务,在设定最大页数后,可凭借 sttings.py工具实现爬取作业,并在每次单独的爬取任务完成后,需要对此页面进行标识:page+113。在
16、此期间,因为网站本身数据库(MySQL,Oracle 等)中储存的数据,需要在与主机进行关联后,将其存入到对应的 Hive 系统中,对于部分体量过于庞大的非结化数据内容,则需要使用关联存入的方式存到HBase系统中。以HBase为例,此时关联操作的目的在于,将数据从非结构化类型的文本进行转化,并从中提取出关键的结构化数据信息,并明确字段,所以,在后续爬取环节,需要爬虫系统向网站服务器平台发送请求,在得到平台的反馈信息后,才能够对数据结果进行爬取,最后再执行提取数据指令,即可实现对关键数据资料的爬取和储存目标。2.2.4 常规系统反爬虫技术处理机制论述本次系统爬虫编辑代码详情如下所示:在完成上述代码的编写后,可以在中间函数集中完成取值,采用随机取值方式即可,对于系统内任意处于单独状态的列表项而言,均具有代表性,此后再次使用 request 工具,即可实现设置操作,最后,技术人员通过 sttings.py 工具可设置新的专用任务指令,确保该中间件的使用安全性,即通过爬虫模拟浏览器可以准确攫取到目标信息。在访问商品详情信息时,系统服务器自身具备检测功能,可以明确 Referrer 工具端发出