點(diǎn)擊上方“ 何 俊林 ”,馬上關(guān)注,每天早上 8:50 準(zhǔn)時(shí)推送
真愛(ài),請(qǐng)置頂或星標(biāo)
大家好,希望各位能懷著正直、嚴(yán)謹(jǐn)、專業(yè)的心態(tài)觀看這篇文章。ヾ(????)?"
接下來(lái)我們嘗試用 Python 抓取天貓內(nèi)衣銷售數(shù)據(jù),并分析得到中國(guó)女性普遍的罩杯數(shù)據(jù)、最受歡迎的內(nèi)衣顏色是什么、評(píng)論的關(guān)鍵字。希望看完之后你能替你女朋友買上一件心怡的內(nèi)衣。我們先看看分析得到的成果是怎樣的?(講的很詳細(xì),推薦跟著敲一遍)
(買個(gè)內(nèi)衣這么開(kāi)心)
圖片看不清楚的話,可以把圖片單獨(dú)拉到另一個(gè)窗口。 這里是分析了一萬(wàn)條數(shù)據(jù)得出的結(jié)論,可能會(huì)有誤差,但是還是希望單身的你們能找到 0.06% 那一批妹紙。下面我會(huì)詳細(xì)介紹怎么抓取天貓內(nèi)衣銷售數(shù)據(jù),存儲(chǔ)、分析、展示。
-
研究天貓網(wǎng)站
-
抓取天貓?jiān)u論數(shù)據(jù)
-
存儲(chǔ)、分析數(shù)據(jù)
-
可視化
研究天貓網(wǎng)站
我們隨意進(jìn)入一個(gè)商品的購(gòu)買界面(能看到評(píng)論的那個(gè)界面),F(xiàn)12 開(kāi)發(fā)者模式 -- Network 欄 -- 刷新下界面 -- 在如圖的位置搜索 list_ 會(huì)看到一個(gè) list_detail_rate.htm?itemId= ….
如下圖:【單擊】這個(gè)url 能看到返回的是一個(gè) Json 數(shù)據(jù) ,檢查一下你會(huì)發(fā)現(xiàn)這串 Json 就是商品的評(píng)論數(shù)據(jù) ['rateDetail']['rateList']
【雙擊】這個(gè)url 你會(huì)得到一個(gè)新界面,如圖
看一下這個(gè)信息
這里的路徑 就是獲取評(píng)論數(shù)據(jù)的 url了。這個(gè) URL 有很多參數(shù)你可以分析一下每個(gè)值都是干嘛的。
itemId 對(duì)應(yīng)的是商品id, sellerId ?對(duì)應(yīng)的是店鋪id,currentPage 是當(dāng)前頁(yè)。這里 sellerId ?可以填任意值,不影響數(shù)據(jù)的獲取。
抓取天貓?jiān)u論數(shù)據(jù)
寫一個(gè)抓取天貓?jiān)u論數(shù)據(jù)的方法。getCommentDetail
這里需要注意的是 jsonp128 這個(gè)值需要你自己看一下,你那邊跟我這個(gè)應(yīng)該是不同的。
在上面的方法里有兩個(gè)變量,itemId 和 currentPage 這兩個(gè)值我們動(dòng)態(tài)來(lái)控制,所以我們需要獲得 一批 商品id號(hào) 和 評(píng)論的最大頁(yè)數(shù) 用來(lái)遍歷。
寫個(gè)獲取商品評(píng)論最大頁(yè)數(shù)的方法 getLastPage
那現(xiàn)在怎么獲取 產(chǎn)品的id 列表呢?我們可以在天貓中搜索商品關(guān)鍵字 用開(kāi)發(fā)者模式觀察
這里觀察一下這個(gè)頁(yè)面的元素分布,很容易就發(fā)現(xiàn)了 商品的id 信息,當(dāng)然你可以想辦法確認(rèn)一下。
現(xiàn)在就寫個(gè) 獲取商品id 的方法 getProductIdList
現(xiàn)在所有的基本要求都有了,是時(shí)候把他們組合起來(lái)。
在 main 方法中寫剩下的組裝部分
所有的代碼就這樣完成了,我現(xiàn)在把 common.py 的代碼,還有 tmallbra.py 的代碼都貼出來(lái)
上面需要注意,數(shù)據(jù)庫(kù)的配置。
存儲(chǔ)、分析數(shù)據(jù)
所有的代碼都有了,就差數(shù)據(jù)庫(kù)的建立了。我這里用的是 MySql 數(shù)據(jù)庫(kù)。
這里有兩個(gè)地方需要注意, comment 評(píng)論字段需要設(shè)置編碼格式為 utf8mb4 ?,因?yàn)榭赡苡斜砬槲淖帧_€有表需要設(shè)置為 utf8 編碼,不然存不了中文。
建好了表,就可以完整執(zhí)行代碼了。(這里的執(zhí)行可能需要點(diǎn)時(shí)間,可以做成多線程的方式)。看一下執(zhí)行完之后,數(shù)據(jù)庫(kù)有沒(méi)有數(shù)據(jù)。
數(shù)據(jù)是有了,但是有些我們多余的文字描述,我們可以稍微整理一下。
這里需要根據(jù)自己實(shí)際情況來(lái)修改。如果數(shù)據(jù)整理的差不多了,我們可以分析一下數(shù)據(jù)庫(kù)的信息。
(想知道是哪6位小姐姐買的 G ? ? ? (~ ̄▽ ̄)~ )
數(shù)據(jù)可視化
數(shù)據(jù)的展示,我用了是 mycharts 模塊,如果不了解的可以去學(xué)習(xí)一下http://pyecharts.org/#/zh-cn/prepare
這里我就不細(xì)說(shuō)了,直接貼代碼看
這一章就到這里了,該知道的你也知道了,不該知道的你也知道了。
本文作者:躲貓貓的貓 ,原文鏈接: https://www.cnblogs.com/zhaww/p/9636383.html
?推薦閱讀
Python爬蟲小白入門-爬取披頭士樂(lè)隊(duì)歷年專輯封面-網(wǎng)易云音樂(lè)
python 利用opencv去除圖片水印
python面試題37道(附答案)看完面試不愁了
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
