后天就是端午节了,小编现在还没有买到合适的粽子,所以打开淘宝,搜索了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
小结
本文仅供学习研究使用,提供的评论仅供参考。如有不妥之处请及时告知作者。
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试