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