大資料告訴你買車的正確姿勢!

青衫無名發表於2018-03-15

本文涉及的技術比較簡單,抓取方面沒有使用任何框架,因為只是臨時性的任務,資料統計方面使用了Tableau,統計維度簡單,比較容易上手。按資料抓取和資料分析兩方面:

一、資料抓取

我抓取的資料來源是某汽車入口網站口碑網頁,內容廣泛而詳盡是這家網站的特點。通常描述或定位一款汽車的順序為品牌->車系->車型,比如大眾->邁騰->邁騰 2016款1.8TSI智享豪華型,該網站的口碑是具體到每一款車型的,並對每一款車系有一個整體口碑評分。我抓取的資料就是針對每一款車型的所有口碑資料,包括量化的評分和非量化的文字評論。如下面一條具體的口碑內容:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

可以看到左側有8項關於汽車的評分是量化的,右側有各維度的文字評論是非量化的,需要後期自然語言分析。左側的評分按照車型、車系歸類後,可形成一份初級的口碑評分資料,來作為圖形化分析的資料來源。

在2016年9月份抓取的該網站口碑資料中,包含所有的在售車和停售車,口碑總量約80萬條。抓取分為兩個部分,一部分為指令碼抓取,目的是抓取所有口碑的詳情連結url,另一部分是購買的百度bce雲解析抓取,目的是根據詳情連結抓取口碑頁面。

第一部分指令碼抓取是自己寫的python指令碼,沒有使用任何框架,僅依靠requests、re和lxml完成頁面的下載和解析。該網站對外部抓取幾乎沒有封禁策略,無需設定headers甚至訪問的間隔時間。按照品牌->車系->車型的順序找到200+個品牌和2200+個車系和23000+個車型,然後根據每個車型口碑頁的連結規則構建出每個車型口碑的列表頁,下載頁面並解析出每個車型下口碑的數量和所有口碑詳情頁的url。由於沒有使用抓取框架,提取連結主要用了re的一些特定規則,沒有複雜的邏輯和程式碼。

第二部分是根據第一步下載並提取的80萬個url下載口碑詳情頁並提取相應資料,上文提到了該網站幾乎沒有封禁策略,所以這80萬個頁面也可以用requests慢慢下載,不過專案組購買了百度雲的服務,對於量大且無需太精準度的資料非常適合。每10000個url作為一個任務,每個任務間隔時間300s(非極限),百度抓取的優勢在於速度快,並且目標網站不會封禁百度伺服器的爬蟲。

下載詳情頁後的內容提取就是一些簡單的xpath解析,提取後的內容存入資料庫或Excel:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

二、資料分析

Tableau是一款功能非常強大的視覺化資料分析軟體,本文僅使用了簡單的資料統計和分析並呈現在圖表上。以下是一些簡單的統計結果:

按品牌、車系、車型分別統計口碑數量,反映了車主對不同車型的關注熱度:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

分級別統計車輛的各項指標排名(參照口碑數量,平均分,同級別排名),下文分別列出了 不同統計類別的統計結果,反映了車主對各級別車的不同維度的評價。

A00級車-油耗評分 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

A0級車-操控評分

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

A級車-動力評分

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

B級車-空間評分

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

SUV(10-20萬)-價效比評分

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

以上是對汽車口碑資料的簡單統計,僅涉及了可量化的評分資料,統計維度也比較簡單,實際上針對不同車型的對比和排名還要參考更多其他的市場和維護保養資料,本文僅作參考。

原文釋出時間為:2017-01-12
本文作者:hectorhua
本文來自雲棲社群合作伙伴“Python中文社群”,瞭解相關資訊可以關注“Python中文社群”微信公眾號


相關文章