冬天到了,用python给媳妇选一件有气质的大衣

这两天北方快要冷死了,我在网易严选上看中了一件大棉袄,值不值得买?

我想用python来分析一波

今天,我们就爬取网易严选某大衣品牌评论情况,来看看大家对于颜色、尺码都是怎么选的?

图片

目标获取

我们此次的目标数据有六个,颜色、尺码、评论时间、会员等级、点赞量和评论内容

最后通过数据可视化来直观的展示给选择困难症

让你轻松做出选择~

图片

网页分析

我们F12打开浏览器开发者模式,可以看到我们要获取的数据都在其中

图片

接下来我们找到网页请求链接来模拟浏览器请求获取数据

注意添加headers。

图片

发送请求

网页分析完毕之后接下来发送请求

url = f'http://you.163.com/xhr/comment/listByItemByTag.json?__timestamp=1636785180888&itemId=3532002&tag=%E5%85%A8%E9%83%A8&size=20&page={page}&orderBy=0&oldItemTag=%E5%85%A8%E9%83%A8&oldItemOrderBy=0&tagChanged=0'
headers = {
      'Cookie': 'yx_from=web_search_baidu; yx_aui=ada226e7-929f-419c-af99-53ad3eda94f0; mail_psc_fingerprint=01caf6305f28d3e4b8cfe162559acaac; yx_s_device=92db99a-a0c8-22cd-47c3-61d5b24664; yx_but_id=c18807c330874f4aaae2799cd51cdf9fd04f970cabedddc6_v1_nl; P_INFO=18392144506|1636766426|1|yanxuan_web|00&99|null=zyQS1ZWw9NX5Xw50muitOHx0kkWJG3WT51-8azp0ZDa&wd=&eqid=ca2a415f0000e3c900000005618f20af; _ntes_nnid=f1c2812145357d2b883902c65c421256,1636769976319; yx_delete_cookie_flag=true; yx_stat_seesionId=ada226e7-929f-419c-af99-53ad3eda94f01636769983423; yx_stat_ypmList=; yx_show_painted_egg_shell=false; yx_new_user_modal_show=1; yx_page_key_list=http%3A//you.163.com/search%3Fkeyword%3D%25E6%25A3%2589%25E8%25A2%2584%25E5%25A5%25B3%26timestamp%3D1636769989980%26_stat_search%3Dhistory%26searchWordSource%3D5%26_stat_referer%3Dindex%23page%3D1%26sortType%3D0%26descSorted%3Dtrue%26categoryId%3D0%26matchType%3D0%2Chttp%3A//you.163.com/item/detail%3Fid%3D3991647%26_stat_area%3D1%26_stat_referer%3Dsearch%26_stat_query%3D%25E6%25A3%2589%25E8%25A2%2584%25E5%25A5%25B3%26_stat_count%3D169%26_stat_searchversion%3Dmmoe_model-1.1.0-1.3; yx_stat_seqList=v_315469b8cb%7Cv_f72eac7e53%3B-1%3Bv_0e93fce746%3Bc_6b9da68e5d%3Bv_315469b8cb%3B-1',
      'Referer': 'http://you.163.com/item/detaierer=search&_stat_query=%E6%96%87%E8%83%B8&_stat_count=132&_stat_searchversion=dcn_model-1.1.0-1.3',
      'User-Agent': 'Mozilla/5.0 (WindowHTML, like Gecko) Chrome/96.0.4664.9 Safari/537.36'
        }

resp = requests.get(url, headers = headers)

if resp.status_code == 200:
    comts_List = resp.json()['data']['commentList']
    print(comts_List)

成功获取到数据,接下来我们要做的就是提取出我们要获取的六个数据

颜色、尺码、评论时间、会员等级、点赞量和评论内容提取如下:

for item in comts_List:
    # 颜色
    colors = item['skuInfo'][0]

    # 尺码
    size = item['skuInfo'][1]

    # 评论时间
    times = item['createTime']
    content_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(times/1000))

    # 会员等级
    memberLevel = item['memberLevel']

    # 评论点赞
    stars = item['star']

    # 评论内容
    content = item['content']

    print(colors, size, content_time, memberLevel, stars, content)
    
    '''
    颜色:藏青无帽 尺码:M 2020-12-13 00:11:23 4 5 颜色很好搭衣服,衣服比较轻薄,保暖也OK,非常满意~~~
    颜色:黑色无帽 尺码:M 2021-01-16 11:08:59 2 5 性价比很高,滑滑软软的,不比波司登400的差,做工没问题,没有线头也没有味道,很满意,犹豫的可以下手了,用上券一百六十多买的
    颜色:黑色无帽 尺码:M 2020-12-26 17:03:07 2 5 可以 比较轻薄 满意
    颜色:粉色连帽 尺码:S 2019-11-11 23:10:51 3 5 衣服收到!非常不错,真的是轻盈合体,而且非常随身,总之是太好了!
    颜色:黑色连帽 尺码:L 2019-11-10 06:01:12 1 5 衣服收到了,现在正好可以穿,轻薄暖和,值得拥有,严选的东西从来没叫我失望过。
    颜色:黑色无帽 尺码:M 2019-11-26 17:47:00 1 5 轻便羽绒服不错,穿着非常舒适,天气冷了有时穿两件也不愿意穿其它厚重的衣服
    颜色:藏青无帽 尺码:M 2020-12-11 12:32:16 5 5 衣服不错,太小了。
    颜色:黑色无帽 尺码:S 2021-10-23 22:13:17 4 5 很棒,暖暖的,现在穿还有点热
    颜色:藏青无帽 尺码:M 2021-08-19 17:21:03 6 5 好
    颜色:藏青无帽 尺码:M 2020-12-25 16:27:10 4 5 一个月前后两件严选羽绒服,不用多说了吧
    颜色:卡其无帽 尺码:S 2021-01-13 14:42:49 3 5 第三次购买了。这次是帮同事下单。继续~
    颜色:黑色无帽 尺码:M 2020-12-12 20:16:34 3 5 质量可以,轻盈舒适,相信严选!
    颜色:粉色连帽 尺码:L 2020-10-16 09:03:03 4 5 虽然配送出了点问题,但严选的整体服务还是很不错的,问题处理很及时!产品也OK!给妈妈买的,老人很满意!
    颜色:红色连帽 尺码:M 2021-08-20 08:59:04 3 5 手感很好,蓬松柔软,颜色无色差跟图片一样,喜欢的购买吧
    颜色:黑色无帽 尺码:S 2021-11-10 18:01:39 1 5 好
    颜色:藏青无帽 尺码:M 2021-09-14 10:39:14 3 5 非常棒,很喜欢,轻便简单易携带好收藏,还保暖
    颜色:红色连帽 尺码:M 2021-09-08 09:52:49 5 5 大小合适,外出旅游带上。
    颜色:藏青连帽 尺码:M 2021-09-07 14:49:21 4 5 真的是一件非常舒服轻巧的羽绒服
    颜色:藏青连帽 尺码:L 2021-09-04 00:44:29 4 5 价廉物美,到货很速度,目前没有其他问题。需要还会回购,这么便宜的价钱等于白送了!价钱美丽!超级划算!性价比也很高!物流方面呢,卖家发货速度也很快的,服务也很到位,速度快~服务好!以前也买过这个,但是真心没有这次买的好,这次买的真心赚到了,哈哈!
    颜色:红色连帽 尺码:L 2021-09-03 00:48:47 5 5 很好
    '''

保存数据

我们将获取到的数据保存到excel中,一会还要做数据分析和可视化展示的。

ws = op.Workbook()
wb = ws.create_sheet(index=0)

wb.cell(row=1, column=1, value='颜色')
wb.cell(row=1, column=2, value='尺码')
wb.cell(row=1, column=3, value='评论时间')
wb.cell(row=1, column=4, value='会员等级')
wb.cell(row=1, column=5, value='评论点赞')
wb.cell(row=1, column=6, value='评论内容')

wb.cell(row=count, column=1, value=colors)
wb.cell(row=count, column=2, value=size)
wb.cell(row=count, column=3, value=content_time)
wb.cell(row=count, column=4, value=memberLevel)
wb.cell(row=count, column=5, value=stars)
wb.cell(row=count, column=6, value=content)

ws.save('网易严选大衣.xlsx')

部分数据展示如下:

图片

数据清洗

接下来我们使用pandas对获取到的数据进行去重和去空等处理

还需要对颜色和尺码两列数据进行转换处理

# 读取数据
rcv_data = pd.read_excel('网易严选大衣.xlsx')

# 去除'颜色:'字样
rcv_data.loc[:, '颜色1'] = rcv_data['颜色'].str.replace('颜色:', '')
# 去除'尺码:'字样
rcv_data.loc[:, '尺码1'] = rcv_data['尺码'].str.replace('尺码:', '')

# 存储数据
rcv_data.to_excel('网易严选大衣.xlsx')

# 删除重复记录和缺失值
rcv_data = rcv_data.drop_duplicates()
rcv_data = rcv_data.dropna()

# 抽样展示
print(rcv_data.sample(5))

'''
           颜色     尺码                 评论时间  会员等级  评论点赞                       评论内容   颜色1 尺码1
299   颜色:卡其无帽   尺码:L  2019-11-21 17:47:33     4     5  给妈妈买的,穿起来很合身,非常轻薄舒适,也很暖和。  卡其无帽   L
1217  颜色:卡其连帽  尺码:XL  2019-11-15 11:19:12     4     5              喜欢,很暖和,颜色也很靓丽  卡其连帽  XL
896   颜色:粉色无帽   尺码:L  2019-11-26 22:38:45     2     5          买给女儿的,羽绒非常好,穿着舒适。  粉色无帽   L
1551  颜色:粉色连帽  尺码:XL  2019-11-05 09:53:28     5     5                       物美价廉  粉色连帽  XL
1036  颜色:卡其无帽   尺码:S  2019-11-21 21:18:47     2     5                          好  卡其无帽   S
'''

词云展示

接下来就是用jieba、wordcloud来做好看的词云展示图。

 c_title = rcv_data['评论内容'].tolist()
# 观影评论词云图
wordlist = jieba.cut(''.join(c_title))
result = ' '.join(wordlist)
pic = 'img.jpg'
gen_stylecloud(text=result,
                icon_name='fas fa-tshirt',
                font_path='msyh.ttc',
                background_color='white',
                custom_stopwords=stop_words,
                output_name=pic,
                )
print('绘图成功!')

图片

图片

图片

词频展示

我们找出评论中前十大高频词汇来做展示图

    # 词频设置
    all_words = [word for word in result.split(' ') if len(word) > 1 and word not in stop_words]
    wordcount = Counter(all_words).most_common(10)

    x1_data, y1_data = list(zip(*wordcount))
    print(x1_data)
    print(y1_data)
    
    '''
    ('不错', '非常', '满意', '喜欢', '质量', '衣服', '轻薄', '颜色', '严选', '保暖')
    (274, 236, 216, 205, 203, 156, 136, 128, 123, 119)
    '''

词频气泡图

图片

词频饼图

图片

合成看板大屏展示图

图片

大衣尺码展示图

图片

图片

由图可以看出,L和M占比超过50%,大多小姐姐的身高都是在165-170之间的

图片

评论热度排行分布图

图片

下面看一下热度排名前三的评论:

很好

不错

大衣颜色分布图

图片

黑色连帽和黑色无帽占榜前二,跟着小姐姐选就没错啦~

这就是今天要分享的内容,关注「GOGO数据」,每天带你了解更多有用的知识。
码字不易!你的「点赞」、「分享」、「在看」、「收藏」是对我最大的支持!

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇

)">
下一篇>>