今天經過爬蟲數據進行分析,一塊兒來看看網易嚴選商品評論的獲取和分析。程序員
聲明:這是一篇超級嚴肅的技術文章,請本着學習交流的態度閱讀,謝謝!mongodb
!數據庫
![]()
評論分析json
進入到網易嚴選官網,搜索「文胸」後,先隨便點進一個商品。app
在商品頁面,打開 Chrome 的控制檯,切換至 Network 頁,再把商品頁面切換到評價標籤下,選擇一個評論文字,如「薄款、穿着溫馨、滿意」,在 Network 中搜索。學習
能夠發現,評論文字是經過 listByItemByTag.json 傳遞過來的,點擊進入該請求,並拷貝出該請求的 URL:網站
https://you.163.com/xhr/comment/listByItemByTag.json?csrf_token=060f4782bf9fda38128cfaeafb661f8c&__timestamp=1571106038283&itemId=1616018&tag=%E5%85%A8%E9%83%A8&size=20&page=1&orderBy=0&oldItemTag=%E5%85%A8%E9%83%A8&oldItemOrderBy=0&tagChanged=0url
將該 URL 放入 Postman 中,逐個嘗試 url query params,最後可以發現,只需保留 itemId 和 page 兩個請求參數便可。spa
請求返回的是一個 JSON 格式的數據,下面就是分析該 JSON 數據了。.net
不難發現,全部的評論數據都存儲在 commentList 中,咱們只需保存該數據便可。
下面就是如何獲取 itemId 的信息了,這個是產品的 ID,咱們回到網易嚴選首頁,繼續分析。
產品 ID 獲取
當咱們在搜索框中輸入關鍵字進行搜索的時候,一樣可以發如今 Network 中有不少請求,此時能夠觀察各個請求,經過請求文件的名稱(此處須要一些經驗,守規矩的程序員都不會亂起名字),咱們能夠定位到搜索時展現搜索結果的請求。
搜索通常都是 search,因此咱們就鎖定了這個 search.json 的請求。一樣把請求 URL 拷貝到 Postman 中,逐個驗證傳參,最後保留 page 和 keyword 兩個參數便可。
該請求返回的數據較多,仍是須要耐心的分析數據,也可以發現,在 result->data->directly->searcherResult->result 下面的 id 值,即爲咱們要獲取的產品 ID。
以上,咱們基本完成了前期的分析工做,下面開始代碼的編寫。
獲取產品 ID
我這裏是獲取了 page 爲 1 的產品 ID,下面就是經過產品 ID 來獲取不一樣產品下的評論信息。
經過前面的分析,咱們能夠知道,評論信息都是以下形式的,對這種形式的信息,咱們能夠很方便地存儲進入 MongoDB,而後再慢慢分析數據裏的內容。
對於 MongoDB,咱們既能夠本身搭建,也可使用網上免費的服務。在這裏我介紹一個免費的 MongoDB 服務網站:mlab,使用很簡單,就不過多介紹使用過程了。
數據庫有了,下面就是把數據保存進去了。
最後爬取完成以後,總共是七千多條數據,下面就能夠根據我的須要作一些分析了。
爬取的數據 MongoDB 連接
conn = MongoClient("mongodb://%s:%s@ds149974.mlab.com:49974/you163" % ('you163', 'you163'))
db = conn.you163
mongo_collection = db.you163
下面就到了激動人心的時刻了,一探妹子偏好!
先來看看妹子們偏好的顏色
能夠看出,黑色是遙遙領先的哦,這裏你要作到心中有數!
再經過餅狀圖來觀察下不一樣顏色的佔比狀況
沒有問題,75B 就是大多數妹子的尺寸了
若是你對這種罩杯尺寸沒有研究的話,沒關係,貼心的我給你準備了對照表,拿走不謝
最後咱們再來看看妹子們對於商品的評價狀況
就星級評價上來看,大多數都是五星好評,畢竟打着「嚴選」的名號,質量是必須有保證的。
再來看看在評論區,妹子最喜歡用什麼詞語來描述呢
舒服、很舒服,很是舒服;滿意、很滿意,很是滿意。