基于Scrapy框架的电商数据分析平台

2017-11-15 11:35孙小越王超
电脑知识与技术 2017年28期
关键词:网络爬虫数据分析电子商务

孙小越+王超

摘要:随着电子商务的蓬勃发展,在各电商平台中都蕴藏了大量有价值的信息数据。从海量数据信息中分析获得较全面的、客观的消费特征对商家的营销策略有很大意义。网络爬虫是获取网络中大量数据的重要途径,通过使用Scrapy爬虫框架,深入解析并获取京东网的产品信息和评论大数据,从中分析品牌、商品、用户三方的属性特征,将数据整合后以简洁、直观的图表形式呈现给商家和消费者,既为消费者提供可靠的参考信息,也使商家更好地了解顾客的特点和需求,从而提升服务质量、促进消费。

关键词:电子商务;网络爬虫;Scrapy;数据分析;SpringMVC

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2017)28-0276-03

Abstract: With the rapid development of e-commerce, there are a lot of valuable information in various e-commerce platforms.It is of great significance to obtain and analyze comprehensive and objective consumption characteristics from mass data. Web crawler is an important way to obtain large amounts of data from the network, through the Scrapy crawler frame, probing information and comments of the products from JingDong website, and analyzing brands,products and user characteristics with intuitive charts for businesses and consumers.The study not only provides consumers with reliable reference information, but also makes business better understand the characteristics and requirements of customers to promote service quality and consumption.

Key words: E-Commerce; web crawler; scrapy; data analysis; springmvc

1 背景

由于信息技術与电子商务的迅速发展,越来越多的人开始享受网上交易给生活带来的诸多便利,国内大批优秀网络商业门户,如淘宝网、京东网、当当网等平台的交易量和交易额都在快速增长中,随之而产生的网络数据也在呈指数式的增长。在商品详情和评论数据信息中含有许多涉及销售的重要信息,如市场供求信息、潜在的用户需求等。获得网络数据的渠道有很多,但是由于商品种类和特征的不同,消费者在购买产品时的行为是多样的、复杂的,通常难以从中快速、精确的获得有效信息。因此,挖掘海量商品数据中的有益信息对于用户、电商和企业都具有非常重要的意义。

本文以国内热门电商平台京东网为例,研究如何爬取其冰箱分类下的所有商品数据,并将商品特征和评论中的观点进行提取和整合,挖掘出有价值的评价观点和用户购买倾向,并将结果可视化为动态可交互的图表,达到清晰和直观的信息呈现效果。

2 基于Scrapy框架的爬虫结构设计

2.1 Scrapy框架设计

网络爬虫是一种按照一定的规则,自动地抓取网页信息的程序,它们可以自动采集所访问页面内容,使得用户能快速地获取到所需要的信息。Scrapy是纯Python实现的应用爬虫框架,基于Twist的异步处理,使用起来相对简单轻巧。其具体内部原理实现的整体架构如图1。

2.1.1 分析页面内容

框架抓取解析的页面分为两种,一种是静态HTML页面,通过爬虫程序访问到目标页面后,用正则表达式对其页面代码进行解析,即可获得所需要的信息;而京东的价格、评论页面均采用了动态页面技术,爬虫无法直接提取网页中的动态信息。为了获得这些数据,首先分析目标页面结构,找到其对应的通过AJAX加载的JavaScript请求数据,获取后得到Json格式的数据。

2.1.2 抓取策略

为了减轻对方服务器的负担,提高抓取的效率,设计抓取策略时要深入的分析目标网页面格式,最大可能在每一个目标页面中得到最多的信息,尽量减少对网站的访问量。此外,由于获取的数据规模较大,本文通过以下四个步骤合理地避免封锁:

1) 构造合理的HTTP请求头;

2) 正确的设置合法的Cookie;

3) 限定抓取频率,以合理的时间间隔访问网站;

4) 使用可变的远程IP地址访问服务器。

本文使用的Scrapy框架的工程目录如图2所示。

2.2 结构化数据的存储

在Scrapy框架中,通过Item Pipeline处理Spiders传递过来的网页数据。 Item是Scrapy装载数据的容器,因此需要编写Item容器,自定义提取字段,将Item模型化。接下来Pipeline会对数据进行一些处理,在Pipeline中编写一个Python类去检查爬取的数据中是否有重复,若是重复则删去,然后将这些字段直接存储到本地或数据库。本文设计保存到MySQL数据库中,爬虫的流程示意图如图3。

3 数据分析及信息可视化呈现endprint

在综合考虑性能、开发周期、系统功能的维护与扩展等多方面因素的基础上,本文采用SpringMVC作为系统的框架模式,完成了系统的数据库逻辑结构、业务逻辑层和用户界面表示层的设计。

信息的可视化为人们更好地理解信息提供了极大便利。ECharts是来自开源的百度商业前端数据可视化团队,它是基于Canvas的纯Javascript 的图表库,提供直观,生动,可交互的数据可视化图表。创新的拖拽重计算、数据视图、值域漫游等特性大大增强了用户体验,赋予了用户对数据进行挖掘、整合的能力。

3.1 市场分析

3.1.1 热卖参数分析

以冰箱为例进行分析,在冰箱产品中多个参数中,选取影响销售较大的价格、面板颜色、总容积、开门方式、能效等级,制冷方式、控制方式、能效等级这8个参数进行分析,以评论中涉及的产品购买次数为销量,计算得到整个市场中最热销参数,以字符云的方式展示,如图4。

3.1.2 参数趋势分析

针对影响因素较大参数进行单独分析,如價格、开门方式、容量、颜色等。以开门方式为例,可以计算出不同开门方式的冰箱每月销售占比,以堆积条形图的形式呈现,通过点击参数,查看参数每月销售趋势,如图5。

如图所示,可以得出市场售出冰箱的开门方式以双开门和三开门为主,并且随着时间月份增加,双开门冰箱的销量也在不断增加。

3.2 品牌及产品分析

3.2.1 品牌地区分布对比分析

针对不同的品牌进行对比,统计消费用户的地区特征,既可以反映出同一品牌不同地区的喜好,也能反映出某一省份的用户对不同品牌的喜爱程度。如图6所示,柱状图表示几个品牌在不同年份不同城市的销额,饼状图表示某一年几个品牌的销额占比。可以看出,市场中的销量主要来自于北京、上海、广州、四川等城市。

3.2.2 品牌价位销量分析

价格是影响消费者行为的重要因素,不同品牌对产品价格的定位不同,其不同价位的销售能力也是各有不同。图7中数字表示在该品牌下该价格区间的销量占比,如调整蓝色进度条为0.5 - 1,则图示中只显示品牌销量占比在0.5-1区间的价位。通过拖动蓝色进度可清晰地看出品牌在哪些价位销量较高,更受用户的欢迎。

3.2.3 产品买家印象分析

买家印象是评论数据中能够获取到的重要信息,在网站中以标签的形式体现。用户可以点击产品进行对比,总结用户购买后反映的不同意见。图8通过雷达图表示所选产品的买家印象中占比最高的6个特性,分别是“空间大”、“节能省电”、“外观漂亮”、“噪音很小”、“制冷效果好”、“冰箱不错”。将鼠标放到雷达图某产品线上,可以看到该产品的6个特性占总评论数的比例。

4 结束语

在电商平台中,商品性能和其他用户的评论是影响消费者的重要因素。用户在购买商品后能够在电商平台发表使用后的体验,使得其他消费者也可以从网络中获取大量信息,从而进一步了解产品。因此,对电商平台的数据信息进行挖掘,可以为消费者提供更好的参考,商家能够进一步了解消费者喜好以便进行销售策略的调整。

对此,本文围绕电商平台中大数据的获取、观点提取和信息整合进行探讨,深入研究了网络爬虫Scrapy框架的工作原理和数据的处理机制,实现了对电商平台静态及动态页面评数据的爬取和结构化入库;使用SpringMVC框架构件分析平台,实现对任意品牌、产品的某些特征的对比和分析;将数据以直观、易读的方式可视化呈现给用户,对企业、商家和消费者掌握整个市场的各方面情况具有重要意义。

参考文献:

[1] 谭文斌. 基于电商平台的产品评论大数据获取及应用[D]. 贵阳: 贵州师范大学, 2016.

[2] 王一博. 基于Scrapy的社交网络异常用户检测系统研究与开发[J]. 信息与电脑:理论版, 2016(14):97-98.

[3] 舒德华. 基于Scrapy爬取电商平台数据及自动问答系统的构建[D]. 武汉: 华中师范大学, 2016.

[4] 王静. 基于Scrapy的电子商务网络测量与网络特征分析[D]. 北京: 北京交通大学, 2012.

[5] 郑幸源, 洪亲, 蔡坚勇, 等. 基于AJAX异步传输技术与Echarts3技术的动态数据绘图实现[J]. 软件导刊, 2017, 16(03):143-145.

[6] 朱慧栋. 基于SpringMVC框架的电子商务系统的设计与实现[D]. 长沙: 湖南大学, 2016.

[7] 邵斐, 孙济庆. 一种适用于动态网页的网络蜘蛛爬行策略研究[J]. 情报杂志, 2007(5):28-30.

[8] 谢克武. 大数据环境下基于python的网络爬虫技术[J]. 电子制作, 2017(9):44-45.

[9] 王彦博, 樊营, 高潜. 大数据时代网络爬虫技术在商业银行中的应用[J]. 银行家, 2016(6):114-116.endprint

猜你喜欢
网络爬虫数据分析电子商务
《电子商务法》如何助力直销
电子商务
炼铁厂铁量网页数据获取系统的设计与实现
浅析大数据时代对企业营销模式的影响
关于加快制定电子商务法的议案