冬天到了,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之間的
完整項目源代碼點這里即可
評論熱度排行分布圖
下面看一下熱度排名前三的評論:
好
很好
不錯
大衣顏色分布圖
黑色連帽和黑色無帽占榜前二,跟著小姐姐選就沒錯啦~
總結
以上是生活随笔為你收集整理的冬天到了,python给老妈选一件有气质的大衣。不然还真无从下手。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python抓取分析“创造101 ”菊姐
- 下一篇: 攻防世界MISC新手题第一题第三题