后天就是端午节了,小编现在还没有买到合适的粽子,所以打开淘宝,搜索了1959条粽子的数据,然后进行了可视化分析,最终找到最适合入手的粽子~
在后台回复[粽子]即可获得数据集。
01
数据采集
淘宝网站是一个动态加载的网站,我们之前可以采用解析接口或者用selenium自动化测试工具来爬取数据,但是现在淘宝对接口进行了加密,使我们很难分析出来其中的规律,同时淘宝也对selenium进行了反爬限制,所以我们要换种思路来进行数据获取。
因为篇幅问题,数据采集的方式在这里就不在过多的讲解,有兴趣的小伙伴可以看看这篇文章用Requests+Cookie,轻松获取淘宝商品数据!,它详细的介绍了淘宝商品数据的获取方式,我们这里只展示核心代码:
response = requests.get('https://s.taobao.com/search', headers=headers, params=params)
shangpinming = re.findall('"raw_title":"(.*?)"', response.text)
jiage = re.findall('"view_price":"(.*?)"', response.text)
fahuodi = re.findall('"item_loc":"(.*?)"', response.text)
fukuanrenshu = re.findall('"view_sales":"(.*?)人付款"', response.text)
dianpumingcheng = re.findall('"nick":"(.*?)"', response.text)
for i in range(44):
try:
if (fukuanrenshu[i] == '1.5万+'):
f = 15000
elif (fukuanrenshu[i] == '1.0万+'):
f = 10000
elif ('+'in fukuanrenshu[i]):
f = re.findall('\d+', fukuanrenshu[i])
else:
f = fukuanrenshu[i]
if float(jiage[i]) > 10:
sheet.append([dianpumingcheng[i], shangpinming[i], float(jiage[i]), fahuodi[i], f])
02
数据清洗
01
导入商品数据
用pandas读取爬取后的商品数据并预览。
import pandas as pd
df = pd.read_excel('粽子.xlsx',names=['店铺名称','商品名','价格','产地','付款人数'])
print(df.head())
02
删除重复数据
df.drop_duplicates()
03
查看数据类型
查看字段类型和缺失值情况,符合分析需要,无需另做处理。
df.info()
03
数据可视化
我们来对这1959家粽子的数据进行可视化分析。可视化图是由Python、Tableau和Excel共同绘制而来。
01
在售的粽子的特点
通过对粽子的商品名称进行词云图绘制发现,粽子主要是在端午节被用来团购或者当做礼物送人的,味道主要有蛋黄和鲜肉~
代码如下:
from imageio import imread
import jieba
from wordcloud import WordCloud, STOPWORDS
with open("1.txt",'r',encoding='utf-8') as f:
job_title_1 = f.read()
contents_cut_job_title = jieba.cut(job_title_1)
contents_list_job_title = " ".join(contents_cut_job_title)
wc = WordCloud(stopwords=STOPWORDS.add("一个"), collocations=False,
background_color="white",
font_path=r"K:\msyh.ttc",
width=400, height=300, random_state=42,
mask=imread('粽子.jpg', pilmode="RGB")
)
wc.generate(contents_list_job_title)
wc.to_file("推荐语.png")
02
各省市产量分布图
通过对各商品的产地数据进行统计并绘制了全国地图,我们发现浙江、上海和北京这三个地方生产粽子最多,分别是752家、325家和216家。
代码如下:
import openpyxl
from collections import Counter
from pyecharts import Map
wb = openpyxl.load_workbook('粽子.xlsx')
sheet = wb['Sheet']
a = []
for i in range(2,1960):
D = sheet[f'D{i}']
a.append(D.value)
province_distribution = dict(Counter(a))
provice = list(province_distribution.keys())
values = list(province_distribution.values())
map = Map("中国地图",width=1200, height=600)
map.add("", provice, values, visual_range=[0, 50], maptype='china', is_visualmap=True,
visual_text_color='#000',is_label_show=True)
map.render(path="地图.html")
我们对这浙江省的数据进行更一步的分析发现:福建省的大裤衩主产地在嘉兴,占据全省产量的69.5%,这也说明了为什么词云图中嘉兴占比很高。
03
各价位商品数量图
通过对商品价格进行分可视化,我们可以看出100以下价位的粽子占据市场的50%左右,100以上的粽子也很多,可能很多是当礼物送了,所以价格略高也属正常。
04
粽子月销量top20商家
我们发现销量top20的商店基本上都是旗舰店,其中大部分是五芳斋官方旗舰店,看来这家的粽子十分受大众喜爱,估计每月销售量要近百万了,所以打算去五芳斋购买粽子来尝尝~
04
小结
本文仅供学习研究使用,提供的评论仅供参考。如有不妥之处请及时告知作者。
推荐阅读:
入门: 最全的零基础学Python的问题 | 零基础学了8个月的Python | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 | 从万众期待到口碑扑街!唐探3令人失望 | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影
趣味:弹球游戏 | 九宫格 | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!| 再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|
年度爆款文案
点阅读原文,领廖雪峰视频资料!