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

简介: 冬天到了,用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数据」,每天带你了解更多有用的知识。
码字不易!你的「点赞」、「分享」、「在看」、「收藏」是对我最大的支持!

相关文章
|
5月前
|
Python
不要再自己画冰墩墩了,用Python抢一个不香吗
不要再自己画冰墩墩了,用Python抢一个不香吗
|
5月前
|
数据采集 数据挖掘 Python
最全妙不可言。写出优雅的 Python 代码的七条重要技巧,2024年最新被面试官怼了还有戏吗
最全妙不可言。写出优雅的 Python 代码的七条重要技巧,2024年最新被面试官怼了还有戏吗
|
Python
【Python】丘比特之箭,一箭穿心,快去发给你心仪的人叭~
丘比特之箭在古罗马神话中,指的是爱神丘比特所用的一支神箭。丘比特是爱神的代表,箭是他用来传达对爱情的主导权的工具。
221 0
【Python】丘比特之箭,一箭穿心,快去发给你心仪的人叭~
|
5月前
|
Python
30行Python代码,再次撬动女人的心
30行Python代码,再次撬动女人的心
|
Python
用 Python 实现黑客帝国中代码雨
用 Python 实现黑客帝国中代码雨
193 0
用 Python 实现黑客帝国中代码雨
|
12月前
|
编译器 计算机视觉 Python
利用Python程序生成字符画 让男大学生们洗脑的挖呀挖呀挖
利用Python程序生成字符画 让男大学生们洗脑的挖呀挖呀挖
54 0
|
存储 Python
Python——获取各种笑话/段子
Python——获取各种笑话/段子
155 0
|
Python
python代码写开心消消乐
python代码写开心消消乐
402 0
python代码写开心消消乐
|
C语言 Python
python 百钱买百鸡的土豪生活
我国古代数学家张丘建在《算经》一书中曾提出过著名的“百钱买百鸡”问题,该问题叙述如下:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?
147 0
还在为520礼物发愁吗?教你用python撩女朋友
还在为520礼物发愁吗?教你用python撩女朋友
还在为520礼物发愁吗?教你用python撩女朋友