基于大数据分析的数码产品价格预测网站设计
2017-07-14农惜玲孟军伍宁芳黄小益甘宇健
农惜玲 孟军 伍宁芳 黄小益 甘宇健
摘要:在当前大数据火热的背景下,研究者都在思考如何应用大数据解决实际问题。文章在理解大数据思维下,设计了以数码产品价格预测、产品基本搜索功能和产品详情模块为主要功能的数码产品价格预测网站,其中重点介绍了如何实现数码产品价格预测功能。该功能的实现主要是利用分布式网络爬虫技术获取各大知名网站的数码产品价格,并利用模型对数码产品的价格走势进行预测。
关键词:价格预测;分布式网络爬虫;数码产品网站;大数据;数学建模
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)17-0269-02
1概述
据《中国互联网络发展状况统计报告》显示,截至2016年6月,我国网络购物用户规模达到4.48亿,可见通过网上获取信息的人很多。在互联网+和大数据时代下,IT行业逐步成为人们热议的焦点,其发展也得到愈来愈多的人关注。而目前国内的IT类资讯网站大多没有预测产品价格这个功能,本文将着重研究价格预测的实现功能的实现。
2网站设计与开发的可行性与适应性分析
2.1从技术角度看
开发一个基于大数据的分析的数码产品价格预测网站需要大量的数据做支撑,这些数据可以通过各大电商平台进行获取。各大电商平台往往会将这些数据按照一定的格式展现在网站上,我们可以通过分布式数据爬虫技术将这些数据实时采集。数据爬虫是一种非常流行的数据采集程序,目前互联网上拥有大量的爬虫框架供我们使用,我们只需编写简单的代码便可以开始获取数据。当拥有海量数据后我们可以对各个商品进行建模,基于hadoop框架进行分布式运算,设计相关预测算法对数码产品价格进行分析并预测出价格的未来走势。
2.2从资源角度看
对于数码产品,互联网可以提供各种各样的信息,比如各大手机生产企业会在他们的网站上发布数码产品的配置信息、评测信息等。在网站建立的初期我们可以从这些网站获取大量的数据来填充我们的数据库。对于部分具有版权的数据,我们将采用外链的方式将原网站提供给用户浏览,这样可以节约开发资源,并让网站专注于价格预测的实现。
2.3从商业价值角度看
一个可以有效预测价格变化的网站是比较有市场前景的,目前互联网上充斥着各种各样的历史价格查看网站,但是大多没有可以对价格进行预测的网站。如果我们可以成功的预测价格走势,我们就可以引导消费,帮助消费者省钱,这也便是网站最大的商业价值。
3网站概述
网站以用户需求为出发点,利用网络爬虫、PHP、HTML5、JAVASCRIPT、MYSQL等技术设计开发。在网站里可以查询到参数、评测、价格和图片等关于数码产品的详细信息。网站的功能包括数码产品价格预测(预测到某款数码产品在未来一段时间内的价格)、信息查询(含有数码产品名称、各项参数、各角度拍摄图片等信息)、价格对比(及参数对比、图片对比和综合对比)等,目的是为人们提供一个简单易操作、具有现实意义的数码产品信息查询平台。网站技术框架如下图所示:
4网站设计
4.1网站主要功能设计
4.1.1产品价格预测模块设计
产品降价预测模块是网站的重点功能。用户可以通过网站查询某个产品的基本信息,并且能够得知该产品的历史价格走势和该产品在未来一段时间的价格走势,这对于比较注重价格的用户来说,便可以综合各类信息和自身需求,更加理性和有计划地选择性价比较高的产品。
网站利用分布式爬虫采集互联网各大平台的IT产品价格数据,形成一个较全面的价格走势图,再通过对产品价格进行建模,从建模结果中得到IT产品在未来一段时间的价格走势。需要说明的是,因为价格容易受到社会、经济条件以及国际等多种因素的影响,所以预测的价格走势会有一定的波动。另外,对于不同时期的价格预测也不同,短期内影响因素主要是数码产品的市场供应,一般采用指数平滑法。这种方法预测主要是靠历史价格数据逐步往后推导预测价格。对于较长时间,则采用二次指数平滑法较好,因为对于一些时间序列变化可能存在线性的趋势,这种方法的好处在于能减少预测值的滞后性。如果数据的变化受季节影响,预测方法应当采用温特线性季节性指数平滑较好,因为这个预测方法是根据季节的变化来进行价格预测,这样预测的价格更为准确。
4.1.2产品基本搜索功能设计
产品的搜索功能也是网站的基本功能之一。产品的搜索功能不仅仅只是简单的产品搜索,它是一个包括商品搜索、查看热门产品、查看最新产品、今日推荐等多模块组合成的一个大模块。用户通过这些搜索信息并结合自己需求,可以理性谨慎地对产品进行对比选购。换言之,产品搜索模块将完成对商品的导购功能。
4.1.3产品详情模块设计
产品详情页面包括很多内容,其子页面也非常多。其中包括:概览页面、具体参数页面、报价页面、点评页面、图片页面以及竞品对比页面等等,每一个页面的功能都不同,设计时将合理安排功能的布局,以方便用户获取自己所需要的资料。
4.2价格的采集与预测
4.2.1分布式网络爬虫
实现价格预测的前提是有大量的历史价格数据,所以網站利用分布式网络爬虫技术从各大网站采集数据,爬虫主要由两个模块组成:
爬虫引擎:分布式运行且完成下载网站页面内容,并将数据存入数据库的工作。
数据清洗:将下载下来的价格信息进行清洗处理,剔除无效信息和冗余信息。
分布式爬虫技术实现需要对于特定的网页编写用于分析其网站源码和获取信息的脚本代码,数据或许后再通过数据清洗去除掉不必要的数据信息,最后把需要的数据存放到数据库中保存。
4.2.2预测价格
在比较多种预测方法后,我们发现时间序列法较适合预测数码产品的价格。时间序列即是某些序列按照时间的先后顺序排列而成的一种特殊序列。若利用这组数列,应用数理统计方法加以处理,以解决实际问题,则称为时间序列分析法。时间序列分析是以时间序列为研究对象,分析序列的本质波动,探究其真实规律的一种定量分析法。在实际中,通常被用于预测未来现象或指标的波动情况。由于数据量庞大、涉及的商品较多,为了提高计算速度,预测模型需要构架在Hadoop等分布式平台之上。
5网站的开发
5.1数据爬虫程序
开发一个数据爬虫,需要用到scrapy框架,该框架是基于python语言编写的,用python语言开发程序最大的特点那就是简单易读。Scrapy框架非常的简单易用只需编写爬虫规则就可以开始高效获取数据,并且该框架是可分布式运行,速度可控,支持JavaScript,非常适合用来采集各大网站的数码产品数据,最重要的是该框架是免费而且开源的,故运用scrapy框架进行开发满足网站需要的爬虫系统。
5.2价格数据分析系统
对于海量的数据传统程序没办法很好的处理,传统的win-dows系统也很难有效的承载。故我们选用hadoop生态体系进行数据分析,该程序可以高可靠的运行在多台电脑上。为了程序可以长期稳定地运行,我们选择在linux上进行数据分析,这样的好处是系统稳定性强,硬件资源可以高效利用。
5.3网站搭建
和大多数网站一样,本网站采用BS(Browser/Server)架构,该架构具备以下几个特点:客户端电脑负荷大大简化、系统维护和升级成本低、同时也降低了用户的总体成本。
我们运用HTML、CSS、JavaScript开发网站前台页面,用PHP开发网站后台,MySQL作为后台数据库。网站运行在Linux系统下的Apache软件下,网站的所有软件均为免费软件,实现成本较低,也符合当下流行趋势。
6结束语
本网站是在大数据背景下建立的数码产品价格预测网站,着重在实现产品价格预测功能、提供报价资讯等内容。网站依托互联网数据建立,以满足消费者对价格预测和导购需求,未来还将继续完善研究工作,通过大数据分析提供个性化产品推荐、提供对数码生产企业的大数据服务、提供对消费者的购买预测功能。