市场营销学数据分析【香奈儿包包在京东上的比价分析】

为了分析香奈儿成功的因素以及香奈儿在市场上的具体销售情况,博主自己写了一个程序用于爬取京东商城香奈儿包包的销售数量(包括商品名称,价格,商品成交量,以及商品的店铺名称),然后对商品进行一系列的数据分析,最后筛选出对我们市场营销作业有用的的数据作为支撑来分析。

(1)通过爬虫代码获取京东商城香奈儿包包前200页(12000)条数据的信息:

from selenium import webdriver
from lxml import etree
import os
import pandas as pd
def get_page(driver, key):driver.get("https://www.jd.com/")it = driver.find_element_by_xpath('//*[@id="key"]')it.send_keys(key)button = driver.find_element_by_xpath('//*[@id="search"]/div/div[2]/button')button.click()driver.execute_script("window.scrollBy(0,100000)")def parse_page(driver):html = etree.HTML(driver.page_source)lis = html.xpath('//*[@id="J_goodsList"]/ul/li')print(len(lis))for li in lis:name = li.xpath('./div/div[@class="p-name p-name-type-2"]/a/em//text()')name = ''.join(name).strip().replace('\n', '').replace(' ', '')price = li.xpath('./div/div[@class="p-price"]/strong//text()')price = ''.join(price).strip().replace('\n', '').replace(' ', '')commit = li.xpath('./div/div[@class="p-commit"]/strong//text()')commit = ''.join(commit).strip().replace('\n', '').replace(' ', '')shop = li.xpath('./div/div[@class="p-shop"]/span/a/text()')shop = ''.join(shop).strip().replace('\n', '').replace(' ', '')result = {'名称': name,'价格': price,'评论': commit,'店铺': shop}print(result)datas.append(result)
def next_page(driver):global iprint("第"+str(i)+"页数据已经采集完成=======")i = i + 1try:driver.execute_script('document.querySelector("#J_bottomPage > span.p-num > a.pn-next")',driver.find_element_by_xpath('//*[@id="J_bottomPage"]/span[1]/a[9]'))driver.execute_script("window.scrollBy(0,100000)")driver.implicitly_wait(30)except:passdef store(datas):abs_path = os.path.dirname(os.path.abspath(__file__))out_path = os.path.join(abs_path, '口红.xlsx')# 用pandas将字典对象data转换为DataFrame对象df = pd.DataFrame(datas)# 用内置函数直接导入Exceldf.to_excel(out_path, engine='openpyxl')
if __name__ == '__main__':key = input("请输入商品名称")start = int(input("你要爬取的最大页数"))driver_path = r"F:\python项目\chromedriver.exe"driver = webdriver.Chrome(driver_path)get_page(driver, key)i = 1datas = []for i in range(start):parse_page(driver)next_page(driver)store(datas)driver.close()driver.quit()

这里使用的技术是selenuim自动化插件对商品进行采集,然后将结果保存为excel格式,获取的数据结果如下图所示。

 接下来对商品数据进行数据分析,数据分析的代码如下所示:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from warnings import filterwarningssns.set(palette="summer", font='Microsoft YaHei', font_scale=1.2)
filterwarnings('ignore')
df = pd.read_excel('F:\\python项目\\wh0922\\jd\\口红.xlsx', engine='openpyxl')
print("数据形状:{}".format(df.shape))
print("重复值:{}".format(df.duplicated().sum()))
print("空值:{}".format(df.isnull().sum()))
df.dropna(inplace=True)
df.drop_duplicates(inplace=True)
df.info()
print(df['价格'])# 处理评论列
def comment_p(x):x = x.replace(r'+', '')x = x.replace(r'条评价', '')if '万' in x:x = x.replace(r'万', '')x = float(x) * 10000return xelse:return xdf['new_comment'] = df['评论'].apply(lambda x : comment_p(x)).astype('int')def price_p(x):x = x.replace(r'¥', '')x = float(x)return x
df['价格'] = df['价格'].apply(lambda x : price_p(x)).astype('int')
print(df['价格'])
# 创建一行新的列对商店类型进行存储
def new_group(frame):new_group = []for i in range(len(frame)):if frame.iloc[i, 4].find('自营') >= 0:new_group.append('京东自营')elif frame.iloc[i, 4].find('旗舰店') >= 0:new_group.append('旗舰店')elif frame.iloc[i, 4].find('专营店') >= 0:new_group.append('专营店')else:new_group.append('其他')frame['newgroup'] = new_group
new_group(df)
print(df['newgroup'][0:5])
# 统计共有多少家店铺
print('该50页商品信息中共有{}家店铺'.format(df['店铺'].nunique()))
s_group = df.groupby('newgroup').店铺.nunique().reset_index(name='counts')
s_group.sort_values(by='counts', ascending=False, inplace=True)
plt.figure(figsize=(12, 8))
sns.barplot(x='counts', y='newgroup', data=s_group)
con = list(s_group['counts'])
con = sorted(con, reverse=True)
print(con)
for x, y in enumerate(con):plt.text(y + 0.1, x, y, size=14)
plt.xlabel('')
plt.ylabel('')
plt.xticks([])
plt.grid(False)
plt.box(False)
plt.title('店铺数量', loc='left', fontsize=20)
plt.show()
# 绘制店铺类型百分比
plt.figure(figsize=(12, 8))
size = s_group['counts']
labels = s_group['newgroup']
plt.pie(size, labels=labels, wedgeprops={'width': 0.35, 'edgecolor': 'w'}, autopct='%.2f%%', pctdistance=0.85,startangle=90)
plt.axis('equal')
plt.title('店铺总数百分比', loc='left', fontsize=20)
plt.show()# 统计不同类型店铺的商品数量
plt.figure(figsize=(12, 8))
sns.countplot(y=df['newgroup'], order=df['newgroup'].value_counts().index, data=df)
con = list(df['newgroup'].value_counts(ascending=False).values)
for x, y in enumerate(con):plt.text(y + 0.1, x, y, size=14)
plt.xlabel('')
plt.ylabel('')
plt.xticks([])
plt.grid(False)
plt.box(False)
plt.title('商品数量', loc='left', fontsize=20)
plt.show()# 商品总数百分比
plt.figure(figsize=(12, 8))
size = df['newgroup'].value_counts().values
labels = df['newgroup'].value_counts().index
plt.pie(size, labels=labels, wedgeprops={'width': 0.35, 'edgecolor': 'w'}, autopct='%.2f%%', pctdistance=0.85,startangle=90)
plt.axis('equal')
plt.title('商品总数百分比', loc='left', fontsize=20)
# plt.show()# 查看整体价格分布
plt.figure(figsize=(12, 8))
sns.displot(df['价格'])
plt.title('价格分布', loc='left', fontsize=20)
plt.box(False)
plt.show()# 查看该商品主要集中在那个价格阶段,创建一列新数据,将价格分段
result = df
result['price_cut'] = pd.cut(x=result['价格'], bins=[0, 20, 40, 60, 80, 100, 120, 140],labels=['20以下', '20-40', '40-60', '60-80', '80-100', '100-120', '120以上'])
print(result['price_cut'][0:5])
result2 = df[df['价格'] >= 100]
result2['price_cut'] = pd.cut(x=result['价格'], bins=[100, 110, 120, 130, 140],labels=['100-110', '110-120', '120-130', '130以上'])
result3 = pd.DataFrame((result2['price_cut'].value_counts() / result.shape[0]).round(3))from matplotlib.patches import ConnectionPatch# make figure and assign axis objects
fig = plt.figure(figsize=(12, 8))
ax1 = fig.add_subplot(121)
fig.subplots_adjust(wspace=0)# pie chart parameters
ratios = result.groupby('price_cut').名称.count().values
labels = result.groupby('price_cut').名称.count().index
explode = [0, 0, 0, 0, 0, 0, 0]# rotate so that first wedge is spilt by the x-axis
ax1.pie(ratios, autopct='%1.1f%%', startangle=90, labels=labels, explode=explode, pctdistance=0.85)
ax1.set_title('不同价格段的商品占比')# 累计成交量
result7 = result.groupby('price_cut').new_comment.sum().reset_index(name='total_comment')
plt.figure(figsize=(12, 8))
size = result7['total_comment']
labels = result7['price_cut']
plt.pie(size, labels=labels, pctdistance=0.8, explode=[0, 0, 0, 0.5, 0.5, 0.5, 0.5])
plt.title('不同价格区间累计成交量', loc='left', fontsize=16)
plt.axis('equal')
plt.show()# 不同类型店铺累计成交量
plt.figure(figsize=(12, 8))
sns.barplot(x=(result.groupby('newgroup').new_comment.sum().sort_values(ascending=False).values / 10000).round(2), y=result.groupby('newgroup').new_comment.sum().sort_values(ascending=False).index, data=result, palette='summer')
con = list((result.groupby('newgroup').new_comment.sum().sort_values(ascending=False).values / 10000).round(2))for x, y in enumerate(con):plt.text(y+0.1, x, '%s(万人)' % y, size=12)
plt.grid(False)
plt.box(False)
plt.xticks([])
plt.ylabel('')
plt.title('不同类型店铺累计成交量排名', loc='left', fontsize=20)
plt.show()# 店铺累计成交量占比
plt.figure(figsize=(12, 8))
size = result.groupby('newgroup').new_comment.sum()
labels = size.index
plt.pie(size.values, labels=labels, autopct='%.2f%%', pctdistance=0.8, explode=[0, 0, 0, 0])
plt.axis('equal')
plt.title('累计成交量百分比', loc='left', fontsize=20)
plt.show()

处理的结果以及可视化结果如下图:

 

 

 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/68280.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2023年1月至4月天猫平台美妆品类销售数据分析

如今,随着人们消费观念的突破,越来越多的人用美妆来诠释个性表达,美丽经济获得更多关注,化妆品消费理念逐渐增强,因此,美妆市场也形成了较大的规模。 根据鲸参谋电商数据显示,2023年1月至4月&am…

2021年美妆行业发展趋势洞察

2021年美妆行业发展趋势洞察 目录: 美妆行业概况; 美妆人群消费趋势; 美妆营销模式及案例分析; 有赞美妆数据洞察; 美妆行业思考和建议。 Part 1:美妆行业概况 1.1 化妆品行业市场规模 2019年&#xff0…

免费 GPT-4 神器来了,这下我彻底不用写代码了!

前两天在网上看到了一款基于 GPT-4 的新一代辅助编程神器:Cursor,官网介绍说是与 OpenAI 合作的并且基于 GPT-4 模型(存疑)。 简单概况一下:代码真的不用我们自己写了,一行指令,它就能帮我们把代…

有了chatGPT搞IT的是否要下岗了!看chatGPT怎样写代码!

能给我写一个贪吃蛇游戏代码吗? 当然可以!以下是一个简单的贪吃蛇游戏的 Python 代码示例: import pygame import random 游戏窗口大小 WINDOW_WIDTH 800 WINDOW_HEIGHT 600 蛇身和食物大小 CELL_SIZE 20 颜色定义 BLACK (0, 0, …

程序员圈“内卷”这么严重,如何才能更进一步,进入大厂

前言 有没有发现无论是在很多行业都会出现几百人争抢一个岗位的事情发生,公务员不说,像是中石化这些国企的岗位也是争的头破血流。 那it行业呢? 程序员不都是想着进大厂,无论是应届生还是已经工作了好多年的程序员。 一、为什…

自考学历,面试大厂(京东、美团、字节、阿里、腾讯、滴滴)被拒!努力找工作七个月,终于拿到offer,涨薪20%!

他鼓励大家:大环境不好,找工作的朋友一定要沉住气,多一些自我总结和耐心,好运一定会降临。 网友点赞:七个月心态都没崩,每天沉稳找工作,楼主棒棒的! 有人对楼主的心态表示佩服&…

80后天才程序员,Facebook 第一任 CTO,开挂人生到底多变态?

https://www.toutiao.com/a6695906930474353156/ 今天介绍一位天才程序员——亚当德安格洛(Adam DAngelo),他被《财富》杂志誉为“科技界最聪明的人之一”,大学去了被誉为"天才"摇篮的加州理工,毕业后成为 F…

图神经网络(五):GAT

文章目录 一.摘要二.背景介绍三.GAT四.总结五.附录 一.摘要 我们提出了图注意网络(GAT),一种在图结构数据上运行的新型神经网络架构,利用掩蔽的自我注意层来解决基于图形卷积或其近似的先前方法的缺点。通过堆叠节点能够参与其邻…

【图神经网络论文整理】(二)—— HOW ATTENTIVE ARE GRAPH ATTENTION NETWORKS?:GATv2

ICLR 2022Shaked Brody(Technion), Eran Yahav(Technion)Uri Alon(Language Technologies InstituteCarnegie Mellon University)论文地址 本文介绍的论文《HOW ATTENTIVE ARE GRAPH ATTENTION…

图神经网络总结(GCN/GAT/GraphSAGE/DeepWalk/TransE)

文章目录 图神经网络1 游走类模型1.1 DeepWalk随机游走DeepWalk计算节点向量的方式: 1.2 Node2VECnode2vec改进后的随机游走方式: 1.3 LINE 2 消息传递类模型2.1 GCN2.2 GAT2.3 GraphSageGraphSAGE 的采样方法:GraphSAGE 的聚合函数&#xff…

Graph Neural Network——图神经网络

本文是跟着李沐老师的论文精度系列进行GNN的学习的,详细链接请见:零基础多图详解图神经网络(GNN/GCN)【论文精读】 该论文的标题为《A Gentle Introduction to Graph Neural Networks》,是对GNN的简介。那么论文的第一…

【图神经网络实战】深入浅出地学习图神经网络GNN(上)

文章目录 一、图神经网络应用领域1.1 芯片设计1.2 场景分析与问题推理1.3 推荐系统1.4 欺诈检测与风控相关1.5 知识图谱1.6 道路交通的流量预测1.7 自动驾驶(无人机等场景)1.8 化学,医疗等场景1.9 物理模型相关 二、图神经网络基本知识2.1 图…

GNN图神经网络综述

什么是GNN GNN是Graph Neural Network的简称,是用于学习包含大量连接的图的联结主义模型。当信息在图的节点之间传播时GNN会捕捉到图的独立性。与标准神经网络不同的是,GNN会保持一种状态,这个状态可以代表来源于人为指定的深度上的信息。 …

图神经网络GNN简介

GNN 1.DL库及数据集1.1 GNN通用DL库1.2 图数据集 2. GCN3. GAT3.1 GAT注意力机制 4. GIN参考文献 如果对图的基础知识,以及对图神经网络要解决的任务还不太熟悉,可以通过 A Gentle Introduction to Graph Neural Networks快速入门。 接下来推荐两篇GNN综…

图神经网络GNN 原理 详解 (一)

图神经网络(GNN) 一.背景 图神经网络的概念首先由 Gori 等人(2005)[16] 提出,并由 Scarselli 等人(2009)[17] 进一步阐明。这些早期的研究以迭代的方式通过循环神经架构传播邻近信息来学习目标节点的表示,直到达到稳定的固定点。该过程所需计算量庞大,而近来也有许多…

图神经网络GNN介绍

目录标题 图神经网络基础图基本模块定义图的邻接矩阵点特征的更新(重构)多层GNN 图卷积GCN模型GCN基本思想网络层数:基本计算 图注意力机制graph attention networkT-GCN序列图神经网络 图相似度 图神经网络基础 图基本模块定义 三个特征&a…

图神经网络(GNN)模型原理及应用综述

从数据结构到算法:图网络方法初探论文《Graph Neural Networks: A Review of Methods and Applications》木牛马论文阅读笔记https://www.cnblogs.com/ydcode/p/11050417.htmlhttps://zhuanlan.zhihu.com/p/102994627?utm_sourcewechat_session 文章目录 图神经网络…

图神经网络GAT最详细讲解(图解版)

前言 大家好,我是阿光。 本专栏整理了《图神经网络》,内包含了不同图神经网络的原理以及相关代码实现,详细讲解图神经网络,理论与实践相结合,如GCN、GraphSAGE、GAT等经典图网络,每一个代码实例都附带有完…

图神经网络(GNN)的简介

近年来,图神经网络(GNN)在社交网络、知识图、推荐系统甚至生命科学等各个领域得到了越来越广泛的应用。GNN在对图节点之间依赖关系进行建模的强大功能,使得与图分析相关的研究领域取得了突破。本文介绍了图神经网络的基本原理,以及两种高级的…

什么是图神经网络GNN?

一、什么是GNN 一句话概括图神经网络(Graphic Nuaral Network,GNN):将一个数据(一个图)输入到网络(GNN)中,会得到一个输出数据(同样是图)&#xf…