大資料告訴你買車的正確姿勢!
本文涉及的技術比較簡單,抓取方面沒有使用任何框架,因為只是臨時性的任務,資料統計方面使用了Tableau,統計維度簡單,比較容易上手。按資料抓取和資料分析兩方面:
一、資料抓取
我抓取的資料來源是某汽車入口網站口碑網頁,內容廣泛而詳盡是這家網站的特點。通常描述或定位一款汽車的順序為品牌->車系->車型,比如大眾->邁騰->邁騰 2016款1.8TSI智享豪華型,該網站的口碑是具體到每一款車型的,並對每一款車系有一個整體口碑評分。我抓取的資料就是針對每一款車型的所有口碑資料,包括量化的評分和非量化的文字評論。如下面一條具體的口碑內容:
可以看到左側有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:
二、資料分析
Tableau是一款功能非常強大的視覺化資料分析軟體,本文僅使用了簡單的資料統計和分析並呈現在圖表上。以下是一些簡單的統計結果:
按品牌、車系、車型分別統計口碑數量,反映了車主對不同車型的關注熱度:
分級別統計車輛的各項指標排名(參照口碑數量,平均分,同級別排名),下文分別列出了 不同統計類別的統計結果,反映了車主對各級別車的不同維度的評價。
A00級車-油耗評分
A0級車-操控評分
A級車-動力評分
B級車-空間評分
SUV(10-20萬)-價效比評分
以上是對汽車口碑資料的簡單統計,僅涉及了可量化的評分資料,統計維度也比較簡單,實際上針對不同車型的對比和排名還要參考更多其他的市場和維護保養資料,本文僅作參考。
相關文章
- 國內銷量持續領跑,榮耀告訴你切入AI手機的正確姿勢AI
- 3分鐘短文:十年窖藏,Laravel告訴你表單驗證的“正確姿勢”Laravel
- 用Github上的高星專案,告訴你程式設計師過雙十一的正確姿勢Github程式設計師
- Redis的正確使用姿勢Redis
- Postman 正確使用姿勢Postman
- git commit 的正確姿勢GitMIT
- 玩轉 Ceph 的正確姿勢
- 開啟Git的正確姿勢Git
- laravel 使用 es 的正確姿勢Laravel
- java關流的正確姿勢Java
- 使用快取的正確姿勢快取
- Fragment commit 的正確姿勢FragmentMIT
- 開啟醫療資料管理新模式的“正確姿勢”模式
- 揭祕“撩”大資料的正確姿勢:生動示例解說大資料“三駕馬車”大資料
- 原始碼|使用FutureTask的正確姿勢原始碼
- 相容iphone x劉海的正確姿勢iPhone
- npm run dev 的正確使用姿勢NPMdev
- 限制UITextField字數的正確姿勢UI
- 使用 Java 8 Optional 的正確姿勢Java
- 解鎖 Redis 鎖的正確姿勢Redis
- MySQL 5.6建索引的正確姿勢MySql索引
- Python 操作 MySQL 的正確姿勢PythonMySql
- 解鎖redis鎖的正確姿勢Redis
- 演算法分析的正確姿勢演算法
- Java日誌正確使用姿勢Java
- 掌握Redis分散式鎖的正確姿勢Redis分散式
- Pwn掉智慧手錶的正確姿勢
- Spring Boot使用AOP的正確姿勢Spring Boot
- Flutter 錯誤捕獲的正確姿勢Flutter
- 使用 react Context API 的正確姿勢ReactContextAPI
- 實現Flutter彈窗的正確姿勢..Flutter
- 區塊鏈的正確開啟姿勢區塊鏈
- Git Bash 提交程式碼的正確姿勢Git
- 學習Linux命令的正確姿勢Linux
- Python開發遊戲的正確姿勢Python開發遊戲
- Git和GitHub的正確開啟姿勢Github
- 論獲取快取值的正確姿勢快取
- 模組開發者使用 ES Modules 的正確姿勢