版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖南商务职业技术学院毕业设计
目录
1引言............................................................................................................................1
1.1项目背景......................................................................................................1
1.2开发环境与工具..........................................................................................1
1.2.1Python简介..........................................................................................1
1.2.2Selenium简介......................................................................................2
1.2.3Jypyternotebook简介......................................................................2
1.2.4MicrosoftExcel简介........................................................................2
2需求分析....................................................................................................................2
2.1可行性需求分析..........................................................................................2
2.2关键技术分析..............................................................................................3
2.2.1动态网络爬虫技术...............................................................................3
2.2.2文件存取技术.......................................................................................3
2.2.3数据可视化技术...................................................................................3
3数据采集....................................................................................................................3
3.1采集页面分析..............................................................................................3
3.2爬虫分析......................................................................................................4
3.3目标字段分析..............................................................................................6
3.4数据存储......................................................................................................7
4数据清洗与处理........................................................................................................9
4.1数据清洗需求分析......................................................................................9
4.2数据储存进Excel.....................................................................................10
5数据分析与可视化..................................................................................................10
5.1数据分析....................................................................................................10
5.1.1统计各个价格段商品数量.................................................................10
5.1.2统计各个价格段商品评论数量.........................................................11
5.1.3统计每个店铺的评论数并取评论数最多的前十店铺.....................11
5.2数据可视化................................................................................................12
I
湖南商务职业技术学院毕业设计
5.2.1根据商品标题绘制关键词词云图.....................................................12
5.2.2根据店铺销量绘制销量条形图.........................................................14
5.2.3绘制各个价格段手机销量占比图.....................................................15
5.2.4统计销量前十的手机商品.................................................................16
5.3可视化分析....................................................................................................17
6总结..........................................................................................................................18
参考资料.........................................................................................................................19
II
湖南商务职业技术学院毕业设计
京东手机商品数据采集与分析
1引言
随着大数据时代的到来,每时每刻都有非常庞大的数据量产生,海量数据
的分析成了重点与难点,谁掌握了数据,谁就掌握了主动权。使用大数据技术
进行数据分析的时代发展的必然趋势,大数据技术挖掘与分析借助计算机来对
大量的信息进行获取、剔除无用数据、并将有用的数据进行联系整合计算与分
析总结。数据分析能够对各行各业的数据进行预测,了解市场动态变化,从而
制定更加完善的策略,提升策略的成功率。
手机作为当代无论是年轻人还是老年人都人手必备的一样东西,几乎成为
了绝大多数人的生活必备品。通过对大众消费者购买需求,偏好的分析,就可
以更好的把握住消费者的心理,从而达到更加精准的营销。
1.1项目背景
信息时代,许多人都以网络平台作为交易的渠道,买卖双方不需见面交流
就能完成交易。这个方式操作简单并且效率高,既节省双方时间,又不会被空
间所约束,加快了我国经济全球化的步伐。
当今社会,几乎人手一台或者多台手机,手机的利润可想而知,而我们需
要更加了解消费者对手机市场选择的需求,就需要我们对多数人的偏好进行分
析。本项目就是通过采集电商网站京东上的手机数据,根据这些数据可以获取
消费者的消费心理、行为等数据,获取有价值的信息,从而让商家更加了解消
费者的消费偏重,为市场精准化营销奠定了基础,保证消费者能享受到多元化
服务。
1.2开发环境与工具
1.2.1Python简介
Python是由荷兰数学和计算机科学研究学会的GuidovanRossum于1990
年代初所设计。Python的优点主要有:简单易学;速度较快,python的底层语
言是C语言;免费开源;python提供了高效的高级数据结构,还能简单而有效
的面向对象编程;可扩展性和可扩充性,它提供了丰富的API和工具,python
语言也被称之为“胶水语言“;丰富的库等。但相较于C和C++相比,它的运
1
湖南商务职业技术学院毕业设计
行速度相对较慢。
python的设计目标之一是让代码具备高度的可阅读性,代码看起来整洁美
观,不需要像pascal那样需要重复书写声明语句,语法规范,清晰。
1.2.2Selenium简介
Selenium是基于Web应用程序并且支持浏览器驱动的开源自动化测试框架,
可以模拟真实用户输入网址、滚动鼠标、点击等动态操作。所支持的浏览器有
IE,MozillaFirefox,Safari,GoogleChrome,Edge等等,支持Python、Java、C#
主流编程语言二次开发。它的主要功能如下。
测试与浏览器的兼容性,测试应用程序能否很好的在不同的浏览器和操作
系统中工作。测试系统功能,创建回归测试检验软件功能和用户需求。
1.2.3Jypyternotebook简介
JupyterNotebook是利用浏览器远程访问方式进行编程的一个交互式应用平
台,支持Python、R、Julia、C等40多种编程语言,可以通过网页访问Jupyter
Notebook平台,创建支持实时代码和数学公式的程序文档,在网页中进行编写
与运行,并直接将结果展示在网页里。它的本质是一个Web应用程序,能够创
建和共享程序文档,支持实时代码,数学方程,可视化和markdown。用途有:
数据清洗和转换,数值模拟,统计建模,机器学习。
1.2.4MicrosoftExcel简介
MicrosoftExcel是微软公司1982年推出的一款电子制表软件。由于它直观
的页面、出色的计算功能和图表工具,以及成功的市场营销,Excel成为最流行
的个人计算机数据处理软件。1993年,Excel就开始成为所适用操作平台上的电
子制表软件的第一,直到现在它依旧被人们广泛使用。
2需求分析
2.1可行性需求分析
由于京东电商网站是一个动态网页,所以我选择使用selenium进行模拟真
实用户搜索并进行爬取。下载相关浏览器驱动,对目标网址发起get请求,使用
By库解析并获取页面中的相关数据,存储为json格式的文件。将采集的数据进
行处理并存入excel表格中,使用jupyternotebook对excel中的数据进行分析,
2
湖南商务职业技术学院毕业设计
将分析结果使用pythonmatplotlib,pyecharts进行可视化展示。
2.2关键技术分析
2.2.1动态网络爬虫技术
我们只需要安装selenium以及相关浏览器驱动,导入需要使用的库就可以
编写相关爬取语句并进行批量爬取。
2.2.2文件存取技术
对爬取的数据存储格式为json格式,json是一种轻量级的数据交换格式,
json易于阅读和编写,也易于机器解析和生成,可以有效地提升网络传输效率。
清洗后的数据存入excel,然后进行读取分析。
2.2.3数据可视化技术
数据可视化时数据处理的一项关键技术,它通过不同的图形对数据进行展
示,我们可以通过这些图形所提供的内容进行分析与应用。数据可视化就是把
数据与信息以图形的形式更清晰有效的展现出来。
在本次项目中我们需要用到pyecharts、matplotlib两个库进行数据可视化展
示,绘制相关词云图,饼图,条形图等等。
3数据采集
3.1采集页面分析
打开本次爬取的目标网站京东手机商品网页
/Search?keyword=%E6%89%8B%E6%9C%BA&enc=utf-8&wq
=%E6%89%8B%E6%9C%BA&pvid=8a1d8447fc7a45eca0990957933be5c5,可以
在右上方看到总页数为63,如图3-1。
3
湖南商务职业技术学院毕业设计
图3-1京东手机商品页面
打开开发工具,点击网络面板再次刷新页面,查看标头可以看到页面的请
求方法为get方法,如图3-2。
图3-2请求方法页面
3.2爬虫分析
由于目标网站是一个含有多张页面的一个动态网页,所以我选择使用web
自动化测试工具selenium模拟用户来进行页面的逐个点击爬取。首先我们要先
安装浏览器驱动,Chrome浏览器的驱动下载页面
/index.html,需要根据浏览器的版本下
4
湖南商务职业技术学院毕业设计
载对应驱动,如图3-3,图3-4。
图3-3浏览器版本
图3-4驱动版本
导入相关库(图3-5),定义一个使用selenium访问京东手机商品页面的方
法(图3-6),打开京东页面后定位搜索框输入”手机”,等待几秒后单击销量降
序排序,调用爬取商品数据方法。
图3-5seleuimu爬取使用相关库
5
湖南商务职业技术学院毕业设计
图3-6访问页面方法
3.3目标字段分析
根据需求需要爬取的字段有:商品名称、店铺、价格、评论数。打开开发
工具,元素面板选中商品后我们可以看到每一个商品的类名都是gl-item。
点击定位到商品名称标签,可以看到商品名称字段在em标签中(图3-7),
根据一样的方法找到店铺、价格、评论数所在标签。
图3-7商品名称标签
定义一个商品数据爬取方法(图3-8),使用selenium的
find_elements(By.CLASS_NAME,'gl-item')获取50页全部商品的数据,通过for循
环遍历后从中提取每一条数据。使用BY.CSS_SELETOR,XPATH方法进行爬取。
6
湖南商务职业技术学院毕业设计
图3-8数据爬取方法
爬取页面数为50页,所以需要每爬完一页后点击下一页按钮。
图3-9下一页
3.4数据存储
每提取出一件商品的数据后,先将它存入字典,以字典的格式存入json文
件。
图3-10数据存储
代码实现如下。
fromseleniumimportwebdriver
7
湖南商务职业技术学院毕业设计
frommon.byimportBy
frommon.keysimportKeys
importtime
importjson
#访问京东页面
defspider(url,keyword):
driver=webdriver.Chrome()
driver.get(url)
input=driver.find_element(By.ID,'key')#定位搜索框
input.clear()
input.send_keys(keyword,Keys.ENTER)#输入手机
time.sleep(5)#强制等待3s
num=driver.find_element(By.XPATH,'//*[@id="J_filter"]/div[1]/div[1]/a[2]')
num.click()#单击销量降序
time.sleep(3)
get_goods(driver)#抓取商品数据d
#抓取商品数据
defget_goods(driver):
withopen("phone.json",'a+',encoding='utf-8')asf:
f.write('[')
#通过类名获取对象
forxinrange(50):
lis=driver.find_elements(By.CLASS_NAME,'gl-item')
time.sleep(3)
foriinlis:
title=i.find_element(By.CSS_SELECTOR,'.p-nameem').text.replace('\n','')#商品
名称
price=i.find_element(By.CSS_SELECTOR,'.p-pricei').text#价格
volume=i.find_element(By.CSS_SELECTOR,'.p-commita:last-child').text#
评论数量
#由于店铺有空值写入异常抛出语句程序继续运行
try:
shop=i.find_element(By.XPATH,'./div[1]/div[7]/span/a').text#店铺
except:
pass
#存储为字典
data={'商品名称':title,'店铺':shop,'价格':price,'评论数':volume}
#将字典存入json文件
new_data=json.dumps(data,ensure_ascii=False,indent=4)
withopen('phone.json','a+',encoding='utf-8')asf:
f.write(new_data+',')
8
湖南商务职业技术学院毕业设计
time.sleep(5)
#获取多页数据
t=driver.find_element(By.PARTIAL_LINK_TEXT,'下一页')
t.click()
time.sleep(5)
print("---------------第",x+1,"页-----------------")
withopen("phone.json",'a+',encoding='utf-8')asf:
f.write(']')
spider('',keyword='手机')
4数据清洗与处理
4.1数据清洗需求分析
从爬取下来的数据中可以看出商品标题中存在着一些多余的内容,比如方
括号以及一些换行符,商品价格的后缀.00对我们来说并没有太大用,还会占据
更多的空间,所以我们选择对无用数据进行去除,并将评论数数据中的“万+”
去除加号后,将万替换为对应的数值型字符。实现代码如下。
importjson
importpandasaspd
lists=[]
#读取文件
withopen("phone.json",'r',encoding='utf-8')asf:
data=json.load(f)
#print(len(data))#输出数据条数
#处理数据
foriindata:
i['商品名称']=i['商品名称'].replace('【','').replace('】','').replace('/','')\
.replace('\\','').strip('爱心东东').strip('拍拍')#去除商品名称中的无用字符
i['价格']=i['价格'].strip('.00')
pl=i['评论数'].replace('+','')#去除加号
if'万'inpl:
pl1=pl.replace('万','')#将万替换成数值
pl1=int(pl1)*10000
i['评论数']=pl1
lists.append(i)
else:
i['评论数']=pl
lists.append(i)
9
湖南商务职业技术学院毕业设计
4.2数据储存进Excel
数据存储的方式有很多种,比如存入hive、mysql、json、csv等等。这里我
选择将数据存入excel文件。实现代码如下。
#将数据写入excel
d=pd.DataFrame(lists)
print(len(d))
d.to_excel('phone.xlsx',index=False)
图4-1数据存储excel页面
5数据分析与可视化
5.1数据分析
使用jupyternotebook导入相关库,这里使用的是pandas,对爬取的数据进行
简单的分析。开始进行分析前需要对整体数据进行读取,以确保能够成功读取
数据。如图
图5-1数据读取页面
5.1.1统计各个价格段商品数量
通过自行定义商品价格区间来对各个价格段的商品数量进行求和,可以了
10
湖南商务职业技术学院毕业设计
解京东手机商品价格的大致趋势。
图5-2各个价格段商品数量数据
5.1.2统计各个价格段商品评论数量
商品评论数是交易数据的一种体现形式,自行定义商品价格区间,对各个
价格区间的商品评论数进行求和,通过消费者交易数据来甄别客户的价值,以
此来满足消费者不同的需求,制定不同的营销策略来促成消费者达成交易。
图5-3商品评论数量
5.1.3统计每个店铺的评论数并取评论数最多的前十店铺
通过对每个店铺的评论数进行分类汇总,并取评论数排名前十的店铺名称。
对于店铺销量的分析可以看出消费者对于各个店铺、品牌的选择倾向,通过不
同客户群体的选择倾向推送客户更感兴趣的商品,针对不同的客户制定不同的
广告策略,从而促成交易。
11
湖南商务职业技术学院毕业设计
图5-4销量前十店铺
5.2数据可视化
进行可视化展示前需要对所用的库进行导入,如图5-5。
图5-5可视化相关库
5.2.1根据商品标题绘制关键词词云图
在商品标题中有许多的空格来隔开商品标题中的关键词,将关键词进行分
割,去重后统计关键词出现的次数来绘制词云图可以看出手机类商品的销售卖
点,相应代码如下。
data=pd.read_excel("phone.xlsx")
name=data['商品名称']
lis=[]
#分割关键词存储进列表
foriinname:
y=i.split('')
forxiny:
12
湖南商务职业技术学院毕业设计
lis.append(x)
#去重计算出现次数
k=[]
foriinset(lis):
x=lis.count(i)
k.append((i,x))
#取出现次数最多的前50位
list_t=sorted(k,key=lambdat:t[1],reverse=True)[0:50]
#画词云图
defwordcloud()->WordCloud:
c=(
WordCloud()
.add('',k)
.set_global_opts(title_opts=opt.TitleOpts(title='京东手机商品名称关键词词云'),
toolbox_opts=opt.ToolboxOpts())
)
returnc
wordcloud().render('ciyun.html')
可视化展示。
图5-6京东手机商品名称关键字
从图5-6可以看出,京东手机商品名称中最常出现的关键字是Pro、Apple、
iPhone、5G手机,从关键字出现次数我们可以判断出现阶段京东手机商品卖点
的主要趋势,从而制定相应的运营策略。
13
湖南商务职业技术学院毕业设计
5.2.2根据店铺销量绘制销量条形图
评论数是商品销量的表现,所以可以通过店铺和评论数两个字段来统计每
个店铺的总销量,取前十并绘制店铺销量统计条形图。代码如下。
data=pd.read_excel("phone.xlsx")
xls=data.groupby('店铺')['评论数'].sum()
xl=xls.sort_values(ascending=False).head(10)
plt.bar(xl.index,xl,color='SteelBlue')
plt.xticks(rotation=90)
plt.subplots_adjust(bottom=0.4)
plt.xlabel('店铺名称')
plt.ylabel('销量')
plt.ylim(400000,8000000)
forx,yinenumerate(xl):
plt.text(x,y+10,'%s'%round(y,1),ha='center')
plt.title('各店铺销量排行前10统计图')
plt.show()
可视化展示。
图5-7商品销量前十店铺统计图
14
湖南商务职业技术学院毕业设计
从图5-7可以看出京东手机销量前十店铺名称与销量数据,Apple产品京东
自营旗舰店的销量最高,销量700万+,其次是小米京东自营旗舰店,销量400
万+。通过统计各店铺的销量数据,可以判断消费者对于不同店铺、品牌的选择
倾向。
5.2.3绘制各个价格段手机销量占比图
通过评论数和手机的价格分段区间,可以看出消费者对于手机价格倾向,
从而根据消费者的购买能力来推送不同的商品。代码如下。
data=pd.read_excel("phone.xlsx")
#添加价格分区一列
bins=[500,2500,5000,7500,10000,30000]
data['价格分区']=pd.cut(x=data.价格,bins=bins,retbins=False,right=True)
jg=data.groupby('价格分区')['评论数'].sum()
plt.pie(jg,labels=jg.index,autopct='%10.1f%%')
plt.title('各个价格段手机销量比例饼图')
plt.show()
可视化展示。
图5-8手机销量占比图
通过图5-8可以看出,价格段在500~2500选择的消费者最多,占了43.4%,
15
湖南商务职业技术学院毕业设计
其次是选择5000~7500价格区间的,所占比例32.7%。通过分析消费者对于手机
商品的选择趋向,可以分析消费者的消费偏好与购买能力,从而进行精准推送,
提高消费者购买欲望。
5.2.4统计销量前十的手机商品
根据评论数的数量可以统计出京东手机销量前十的手机商品。代码如下。
data=pd.read_excel("phone.xlsx")
sales=data.sort_values(by=['评论数'],ascending=False).head(10)
plt.bar(sales['商品名称'],sales['评论数'])
plt.xlabel('商品名称')
plt.ylabel('评论数')
plt.subplots_adjust(bottom=0.5)
plt.xticks(rotation=90,fontsize=5)
forx,yinenumerate(sales['评论数']):
plt.text(x,y+10,'%s'%round(y,1),ha='center')
plt.title('评论数前10商品排行')
plt.show()
可视化展示。
16
湖南商务职业技术学院毕业设计
图5-9销量前十手机商品名称
通过图5-9可以看出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 无人机在物流运输中的应用
- 2025年度海洋工程装备租赁与操作合同4篇
- 基于AI的2025年度智能物流系统开发合同3篇
- 加油站的质量管理与监督检查
- 2025版绿色建筑门窗材料供应与施工合同4篇
- 2025年度校园围墙墙面美化工程合同标的协议书4篇
- 2024版国际物流运输合同模板
- 2024年07月浙江民生银行嘉兴二级分行社会招考(720)笔试历年参考题库附带答案详解
- 2025年汽车零部件智能制造项目合同4篇
- 2025年度个人教育培训贷款合同4篇
- 中央2025年国务院发展研究中心有关直属事业单位招聘19人笔试历年参考题库附带答案详解
- 外呼合作协议
- 小学二年级100以内进退位加减法800道题
- 2025年1月普通高等学校招生全国统一考试适应性测试(八省联考)语文试题
- 《立式辊磨机用陶瓷金属复合磨辊辊套及磨盘衬板》编制说明
- 保险公司2025年工作总结与2025年工作计划
- 育肥牛购销合同范例
- 暨南大学珠海校区财务办招考财务工作人员管理单位遴选500模拟题附带答案详解
- DB51-T 2944-2022 四川省社会组织建设治理规范
- 2024北京初三(上)期末英语汇编:材料作文
- 2024年大型风力发电项目EPC总承包合同
评论
0/150
提交评论