国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于python的二手房數(shù)據(jù)爬取及分析

2019-09-24 02:00趙綠草饒佳冬
電腦知識與技術(shù) 2019年19期
關(guān)鍵詞:可視化分析爬蟲

趙綠草 饒佳冬

摘要:隨著海量數(shù)據(jù)的出現(xiàn),如何快速有效的獲取到我們想要的數(shù)據(jù)成為難題。以房源信息為例,該文使用Python語言結(jié)合Scrapy分布式爬蟲來對房源信息網(wǎng)——鏈家網(wǎng)上在售二手房數(shù)據(jù)進行爬取,解讀武漢市的二手數(shù)據(jù)背后隱藏的房源趨勢。

關(guān)鍵詞:Scrapy;爬蟲;Python;可視化分析

中圖分類號:TP391? ? ? 文獻標識碼:A

文章編號:1009-3044(2019)19-0001-03

1 背景

近年來,大數(shù)據(jù)、互聯(lián)網(wǎng)和云計算等技術(shù)發(fā)展迅速,“智慧城市”建設(shè)進程加快,越來越多的實物用數(shù)據(jù)代為表示,用數(shù)據(jù)來反映問題成為一種直觀又具有說服力的方式。如今,大部分地區(qū)已進入城市化進程,人口的眾多與住房用地的減少使得房價大漲,如何找到合適的住房已成為常見的民生難題。

互聯(lián)網(wǎng)為用戶提供了各種房源數(shù)據(jù),在爬蟲的爬取下集中有用的數(shù)據(jù),并對這些數(shù)據(jù)進行清洗、統(tǒng)計和可視化分析,可以為用戶挖掘出隱藏在網(wǎng)絡(luò)數(shù)據(jù)中的所有房源的分布情況以及價格等特征走向,幫助用戶做出更好的決策。

2 Scrapy分布式爬蟲

Scrapy是一種用于抓取網(wǎng)站和提取結(jié)構(gòu)化數(shù)據(jù)的應(yīng)用程序框架,可廣泛應(yīng)用于信息處理,數(shù)據(jù)挖掘或歷史存檔。最初Scrapy是為網(wǎng)絡(luò)抓取而設(shè)計的,但它也可以用于使用API或者作為通用網(wǎng)絡(luò)爬蟲來提取數(shù)據(jù)[1]。

Scrapy是基于Twisted異步網(wǎng)絡(luò)庫來處理通訊, 架構(gòu)清晰, 并且包含了各種中間件接口, 可以靈活的完成各種需求。其工作原理為:首先從首頁URL開始, 調(diào)度器會傳給下載器進行下載, 之后會交給爬蟲進行分析, 根據(jù)分析結(jié)果進行不同處理。如果是需要進一步爬取的鏈接, 這些鏈接會傳回調(diào)度器;如果是需要保存的數(shù)據(jù), 則被送到項目管道組件進行后期處理, 包括詳細分析、過濾、存儲等。此外, 在數(shù)據(jù)流動的通道里還允許安裝各種中間件, 進行必要的處理[1]。

3 Scrapy爬取及數(shù)據(jù)清洗

3.1 Scrapy爬取數(shù)據(jù)

打開cmd命令窗口,在常用文件夾下建立新的Scrapy爬蟲工程,設(shè)置爬取首頁和爬蟲名稱,便有了一個spiders文件夾及其目錄結(jié)構(gòu),使用配置有python3.6的pycharm打開我們所建立的爬蟲工程開始正式編寫爬蟲。

然后轉(zhuǎn)到爬蟲模塊,定位房源字段信息,在parse()方法中對這些信息的源代碼進行復制解析,利用for循環(huán)從第一頁開始進行翻頁,回調(diào)parse()方法,對每一頁的信息進行同樣的提取,直到最后一頁。最后數(shù)據(jù)爬取完成,轉(zhuǎn)到管道模塊,將爬取的全網(wǎng)二手房數(shù)據(jù)轉(zhuǎn)換為json純文本寫入到csv文件存儲。

3.2 數(shù)據(jù)清洗

數(shù)據(jù)清洗是對所爬取的數(shù)據(jù)進行規(guī)范化操作,將數(shù)據(jù)中多余的符號及字符做刪除或者替換處理,并且通過使用正則表達式等工具對數(shù)據(jù)進行一致性處理的過程。由于爬取出來的數(shù)據(jù)很亂,有各種換行符,制表符以及空格隱藏在數(shù)據(jù)中,或者是字段出現(xiàn)錯位,存在缺失值異常值等情況,因此需要先將數(shù)據(jù)進行清洗補充缺失數(shù)據(jù)等數(shù)據(jù)處理再進行探索分析。

首先用split()和drop()方法將含有多條信息的一列分成多列,pandas.concat()合并數(shù)據(jù)。然后通過正則表達式處理數(shù)據(jù)中影響分析的字符,re.sub()刪除指定字符,re.findall()提取指定字符。最后刪掉不必要的數(shù)據(jù),將一些不規(guī)范的數(shù)據(jù)替換掉,例如年份一列中有“未知”字段,屬于字符型,為了便于后續(xù)分析,我們將“未知”兩個字替換為整型。

4 數(shù)據(jù)可視化分析

4.1 簡單概括性分析

數(shù)據(jù)初步清洗完畢,進行分析之前先檢查一下數(shù)據(jù)缺失情況,如果數(shù)據(jù)缺失嚴重,需要對缺失值進行填補或者其他處理,否則會影響數(shù)據(jù)分析結(jié)果準確性。檢查結(jié)果如圖3,從圖中可以看出數(shù)據(jù)沒有嚴重缺失,再對數(shù)據(jù)做描述性統(tǒng)計分析如圖4,可以看出武漢市二手房的價格均值約為212.6萬,平均面積102.8平方米,兩者相除得出的每平米均價約2萬多,與統(tǒng)計結(jié)果中每平米單價的均價基本一致,說明該數(shù)據(jù)異常值不明顯,可以進行數(shù)據(jù)可視化。

4.2 可視化分析

數(shù)據(jù)可視化技術(shù)將數(shù)據(jù)轉(zhuǎn)換成圖形圖表, 為決策提供依據(jù)[2]。數(shù)據(jù)可視化技術(shù)的研究已得到了快速發(fā)展并取得相應(yīng)的成就[3]。

對武漢市每個區(qū)域二手房數(shù)量進行分析并且分析每個區(qū)域二手房每平米單價均值和總價箱形圖,可視化結(jié)果分別如圖5和6。

從圖5可以觀察到武漢洪山區(qū)二手房數(shù)量最多,遠遠高于其他區(qū)域,但是房屋每平米價格卻不是最高的,武昌區(qū)二手房每平米單價均值最高,可能是因為武昌屬于中心位置,同時占據(jù)交通和經(jīng)濟兩大優(yōu)勢。另外,通過6的箱型圖結(jié)果可以得出,武漢各區(qū)房屋總價中位數(shù)都在300萬以下,而且房屋總價分布趨勢比較分散,最高的是洪山區(qū),房屋總價達到了1400萬,最低的不到100萬,說明房屋價格特征不是理想的正太分布。

通過distplot和kdeplot繪制柱狀圖并給出標準擬合正態(tài)分布,觀察武漢市二手房面積分布情況如圖7,可以看出房子面積分布與標準正態(tài)分布大部分擬合,說明我們觀測的大部分二手房面積在正常范圍之內(nèi),面積90平米左右的二手房最多,還有一些面積大于200平米超出正常范圍的二手房。再以有無電梯為分類依據(jù)繪制面積和價格之間的散點圖,如圖8,發(fā)現(xiàn)整體上面積特征基本與價格呈現(xiàn)線性關(guān)系,同樣面積的二手房有電梯比無電梯價格高,符合基本常識,面積越大,有電梯,價格越高。

5 總結(jié)

隨著信息技術(shù)越來越成熟,如何使用爬蟲和數(shù)據(jù)可視化等技術(shù)更好地了解用戶以及他們的意向是WEB2.0時代的關(guān)鍵領(lǐng)域。本文通過研究如何從互聯(lián)網(wǎng)上采集相關(guān)數(shù)據(jù),讓數(shù)據(jù)采集更高效,把采集到的數(shù)據(jù)進行清洗、過濾,將有用的數(shù)據(jù)進行統(tǒng)計和可視化分析,從中分析和挖掘出有價值的信息[4],充分利用大數(shù)據(jù)潛在的價值。

參考文獻:

[1] 晉振杰, 曹少中, 項宏峰, 等. 基于python的電商書籍數(shù)據(jù)爬蟲研究[J]. 北京印刷學院學報, 2018, 3(26): 39-42.

[2] 曾悠. 大數(shù)據(jù)時代背景下的數(shù)據(jù)可視化概念研究[D]. 杭州: 浙江大學, 2014.

[3] 任磊, 杜一, 馬帥, 等. 大數(shù)據(jù)可視分析綜述[J]. 軟件學報, 2014, 25(9): 1909-1936.

[4] 肖樂, 叢天偉, 嚴衛(wèi). 基于python的Web大數(shù)據(jù)采集和數(shù)據(jù)分析[J]. 電腦知識與技術(shù), 2018, 14(22): 9-11.

【通聯(lián)編輯:謝媛媛】

猜你喜歡
可視化分析爬蟲
利用網(wǎng)絡(luò)爬蟲技術(shù)驗證房地產(chǎn)灰犀牛之說
基于Python的網(wǎng)絡(luò)爬蟲和反爬蟲技術(shù)研究
利用爬蟲技術(shù)的Geo-Gnutel la VANET流量采集
大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡(luò)爬蟲技術(shù)
我國職業(yè)教育師資研究熱點可視化分析
聲波吹灰技術(shù)在SCR中的應(yīng)用研究