辛夢陽 遲冬祥 張媛媛
摘要:網購的便利和快捷,催生了眾多“買買買”和“剁手黨”。沖動消費之后,大量的閑置物品也讓二手交易平臺的熱度變得越來越高。本文將統(tǒng)計58同城二手iPhone價格,作出價格預測并驗證。助力商品定價,加快交易速度。
關鍵詞:網絡爬蟲;python;excle;tableau;數據建模
中圖分類號:TP393 文獻標識碼:A 文章編號:1007-9416(2018)06-0205-02
1 數據獲取與分析方法
1.1 數據獲取
使用python語言編寫爬蟲工具是抓取網絡數據最快的方法[1]。本課題研究需要爬取58同城二手商品交易信息,將涉及到基礎爬蟲架構中的 HTML下載器、HTML解析器、數據存儲器三大模塊。
1.1.1 構造HTML下載器
使用python的“requests”庫,模擬用戶請求得到相應的回應據。具體來說分為三步。
(1)模擬用戶。網站對請求的檢測和內容回應,是基于瀏覽器的“User-Agent”(用戶頭)標識的。定義requests庫中的‘header‘參數為Mozilla/5.0 (Windows NT 10.0; Win64; x64),網站就會返回適用于桌面瀏覽器的內容。
(2)訪問特定url。模擬用戶請求后,接下來訪問想包含研究數據的鏈接,比如在本課題中就是訪問58同城的二手商品鏈接。至此,程序便實現了一次網絡請求。
(3)編寫循環(huán)模塊。使用循環(huán)結構可以完整連續(xù)地獲取信息,可以連續(xù)自動對所有二手商品進行網絡請求。
1.1.2 構造HTML解析器
發(fā)出網絡請求后,網站會返回響應。響應以HTML格式下載到本地,我們需要取出其中的部分信息,比如商品價格。所以需要構造解析器將返回的HTML文本做分析處理,取出需要部分。這里可以分為兩大步:
(1)構造正則表達式。根據HTML的元素邏輯,使用正則表達式取出需要數據,而且對于同類型的HTML文本,正則表達式是通用的。
(2)構造解析模塊。這里的模塊比上一部分的循環(huán)模塊,多了迭代的功能。采用yield表達式for-in方法,只構建一次表達式,一次的把結果拿出來,實現數據的解析提取。
1.1.3 構造數據存儲器
數據存儲有三種流行方案:(1)純文本text存儲。優(yōu)點是方便使用;缺點是不很適合元素較多,數據量比較大的項目。(2)csv格式文本。相對于第一種純文本,解決了數據格式不夠健壯的問題。(3)MongoDB數據庫。存儲內容更多,可以導出csv文本。
由于不確定最終的數據量,為了保險起見在數據采集階段使用MongoDB。
1.2 數據清洗
通過網絡爬蟲得到的數據通常存在數據元素殘缺和信息冗余的情況,直接分析難度較高而且會影響最終結果[2]。所以在數據分析之前,使用excle做清洗整理的工作。將MongoDB內容導出csv文件,使用excle實時動態(tài)地對csv進行操作。清洗整理的步驟分為兩步:去除無效數據;選取研究對象。
1.2.1 去除無效數據
無效的數據可能是:發(fā)錯版塊的信息,比如二手交易板塊下出現的求職信息;因為網絡原因或者程序錯誤產生的多條相同數據或者殘缺的數據;無意義的數據,比如說我們要做價格分析,但某商品的標價是“面議“,由于我們不可能每個面議都具體了解,所以直接舍去這類數據。如圖1。
1.2.2 選取研究對象
為了商業(yè)指導和數據分析并實際意義,選取一個數據量和廣度足夠合適的范圍進行分析,合適的原則分為如下兩點。
(1)有足夠大量的數據支撐。可以避免分析結果偶然性的基礎,也是分析結果具有實際意義的保障。二手交易板塊幾個大類中數據量最大的是手機類。所以直接在使用篩選工具取出了手機類數據。如圖2。
(2)商品間可比性高。手機產品存在品牌差別和高中低定位的差異,iphone和老人機可比性較低。所以進一步將分析對象變成了同型號的蘋果手機作為研究對象,這個商品數據量較大有接近3000條,發(fā)布時間跨度較大,成色差異明顯,具有很高的可比性和研究性。如圖3。
2 數據分析結果
2.1 數據分析工具與方法
完成了數據的清洗整理之后,我們也就確定了研究的對象。也就是58同城二手交易板塊iPhone。對于手機這類商品來說,可以做如下幾類分析:二手手機成色對售價的影響;各代手機價格差異;二手手機售價隨時間的變化。可視化分析工具選用tableau,其csv支持較好,內置分析工具強大。
對數據進行整體觀察可以看出,清洗整理得到的iPhone的商品信息中,有幾個滿足分析條件的屬性。時間跨度較久;型號較為齊全,從比較早的iPhone4一直到iPhone6s都有記錄;數據量比較充足,可以避免產生偶然結論。
首先,我們針對不同型號的iPhone做了價格統(tǒng)計,使用tableau可視化工具,并且根據年份整理出可視化圖表。
可視化分析后可以得出結論:比較老的型號的二手iPhone售價較為穩(wěn)定,比較新的型號波動較大。比如iPhone6s 在15年12月的第三第四第五個星期前后價格波動很大,而iPhone5c的售價基本沒有變動。
基于價格變動信息做建模擬合的操作,預測不同型號二手iPhone的價格變動,可以得到一類規(guī)律。為了做價格預測,我們將信息從時間維度上被劃分為兩段,我們對前一段段做建模擬合操作,得到價格預測模型。然后預測后一段的售價,并把擬合曲線放到原圖中與真實數據做比較[3]。這樣可以直觀地看出擬合是否準確,這種做法從原理上較為嚴謹。
2.2 分析結果
對前四個月的數據進行數學建模,使用均值模型得到各個時間段的平均價格,對所有型號的手機應用此模型,可以擬合得出一條平均價格線。在前一個可視化視圖的基礎之上,添加使用均值模型得到了平均價格線,得到帶有預測功能的可視化基礎。
根據對前4個時間段的擬合結果可以得出:除了6s和6sPlus機型外,其他機型售價的擬合曲線基本準確,并且對后一段的預測也較為準確,有使用參考意義。而對于6s和6sPlus機型,由于前一段的售價波動巨大,雖然我們的擬合曲線穿過了售價折線圖,但對后一段的預測不是很好,對比其他機型的預測結果來看,前一段段的售價波動較大應該是造成預測效果較差的主要原因。
3 結語
本課題分析最終對象選取的是58同城的二手iPhone。對象數據的獲取是通過網絡爬蟲的方式實現了二手iPhone各項商品信息的抓取。在數據清洗部分,使用帶有友好圖形界面,且可以對數據調整實時反饋的excle進行了數據的清洗篩選。最后的數據分析,通過tableau可視化數據分析工具進行了數據統(tǒng)計和建模,得到了數據的數學模型和預測模型。通過最終擬合曲線來看,得到的擬合曲線較為準確,并且預測效果較好。從成果的具體應用上來說,為苦惱于閑置物品處理的“剁手黨”提供了保證性價比的定價策略。讓定價過程更輕松,為二手商品交易雙方提供了合適的交易價格。如果在賣家發(fā)布商品信息時作為參考價格顯示,將加速整個二手交易平臺的商品流通速度。也會使本課題的研究有現實中的體現。
參考文獻
[1]陳勝.基于互聯網大數據挖掘的無車日路況分析以蘇州古城為例[J].中國地址研究,2006,(3):16.
[2]李家斌.基于開放數據挖掘的杭州公共自行車服務特征研究[C]//中國城市交通規(guī)劃年會論文集.2007.
[3]張祿,潘鳴宇,田賀平,等.基于數據挖掘技術的電力客戶欠費風險預警研究[C]// 2017智能電網發(fā)展研討會論文集.2017.
Abstract:The convenience and speed of online shopping have spawned many "buy and sell" and "chopped hands". After impulsive consumption, a large number of idle goods also make the heat of second-hand trading platform more and more high. This article will calculate the price of second-hand iPhone in 58 cities, make price prediction and verify it. Boost the price of goods and speed up the trading speed.
Key words:web crawler;python;excle;tableau;data modeling