貝殼網(wǎng)站長沙城市二手房數(shù)據(jù)采集與分析_第1頁
貝殼網(wǎng)站長沙城市二手房數(shù)據(jù)采集與分析_第2頁
貝殼網(wǎng)站長沙城市二手房數(shù)據(jù)采集與分析_第3頁
貝殼網(wǎng)站長沙城市二手房數(shù)據(jù)采集與分析_第4頁
貝殼網(wǎng)站長沙城市二手房數(shù)據(jù)采集與分析_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

目錄

1引言............................................................................................................................1

1.1項目背景......................................................................................................1

1.2開發(fā)環(huán)境與工具..........................................................................................2

1.2.1Python簡介..........................................................................................2

1.2.2Jupyternotebook簡介......................................................................2

1.2.3Python第三方庫簡介..........................................................................3

2需求分析....................................................................................................................4

2.1可行性需求分析..........................................................................................4

2.2采集目標功能分析......................................................................................5

2.3關(guān)鍵技術(shù)分析..............................................................................................5

2.3.1Python網(wǎng)絡(luò)爬蟲技術(shù)..........................................................................5

2.3.2文件存取技術(shù).......................................................................................6

2.3.3可視化技術(shù)...........................................................................................7

3數(shù)據(jù)采集....................................................................................................................8

3.1采集頁面分析..............................................................................................8

3.2字段分析....................................................................................................10

3.3編程實現(xiàn)....................................................................................................12

4數(shù)據(jù)儲存與處理......................................................................................................14

4.1數(shù)據(jù)儲存....................................................................................................14

4.2數(shù)據(jù)清洗與處理........................................................................................15

5數(shù)據(jù)統(tǒng)計與分析......................................................................................................16

5.1數(shù)據(jù)準備展示............................................................................................16

5.2數(shù)據(jù)展示....................................................................................................16

5.2.1依據(jù)二手房名稱統(tǒng)計.........................................................................16

5.2.2依據(jù)朝向分布占比統(tǒng)計.....................................................................17

5.2.3據(jù)小區(qū)關(guān)注熱度人數(shù)進行統(tǒng)計分析.................................................18

5.2.4依據(jù)戶型分布.....................................................................................19

I

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

5.2.5二手房總價分布情況.........................................................................20

5.3綜述............................................................................................................20

6小結(jié)..........................................................................................................................21

參考資料.........................................................................................................................23

II

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

貝殼網(wǎng)站長沙城市二手房數(shù)據(jù)采集與分析

1引言

時代在變革,信息在涌動。隨著國家建設(shè)的全面發(fā)展,每個角落都流淌著

大量數(shù)據(jù)信息的身影。全面化的大數(shù)據(jù)信息時代的到來,海量的數(shù)據(jù)信息在每

個領(lǐng)域都展現(xiàn)著它存在的意義與價值。處于這個時代的我們,在各行各業(yè)的領(lǐng)

域中,都感受到了大數(shù)據(jù)的高速流動以及對我們的影響。

特別是互聯(lián)網(wǎng)的發(fā)展,海量數(shù)據(jù)奔流不息,甚至呈井噴式增長。在網(wǎng)絡(luò)不

發(fā)達的時代,我們是通過汲取身邊有經(jīng)驗的人以及自己的不斷歷練,才對一些

事情的知熟度不斷加深。如今,互聯(lián)網(wǎng)不僅開闊了我們的眼見與知識,也帶給

了我們便利的生活。比如,可以通過上網(wǎng)可以快速查找自己所需要的領(lǐng)域的知

識與信息,可以了解大千世界的多樣化與不同,可以讓我們的生活多姿多彩。

這是數(shù)據(jù)時代帶給我們的便利,也讓我們享受無窮的知識與幸福。

在這個互聯(lián)網(wǎng)大數(shù)據(jù)時代,人們的生活水平不斷增長,對于生活質(zhì)量也要

求越來越高。如何提高我們的生活質(zhì)量,只有從各種各樣的數(shù)據(jù)中摸索,挖

掘,提取有用的數(shù)據(jù)信息,才能促進我們生活質(zhì)量的提高。因此,大數(shù)據(jù)的開

發(fā),挖掘與發(fā)展,可以為我們規(guī)劃一份很有質(zhì)量的藍圖。

1.1項目背景

衣食住行是我們生活必需。在生活中,房屋可以給我們提供一個溫暖的港

灣,一所屬于自己的房子是當(dāng)代人的需求。但是人們的生活收入水平并不相

同,每個層次的收入水平階段的人們,對于買房的需求也不同。

隨著房的發(fā)展,如今二手房市場越來越活躍,也了解到二手房似乎比新房

要更受歡迎,價格也更滿足一些中低的收入的人。對于購房者人來說,想要住

上心滿意足的房子,就要對買房網(wǎng)站里面的房子信息進行對比分析,找到適合

自己的。我們就需要從海量數(shù)據(jù)中爬取并提有價值的信息(可以借助python爬

蟲技術(shù)),供我們參考合理高效購房。

我的這個項目數(shù)據(jù)分析主要是滿足于人們對于住房要求的需要,提供給他

們有價值的數(shù)據(jù)信息,住上自己滿意劃算的房子。我爬取的是貝殼網(wǎng)站的長沙

二手房數(shù)據(jù),對其進行數(shù)據(jù)信息進行爬取,儲存,可視化分析圖例展示。經(jīng)過

1

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

爬取數(shù)據(jù)分析,把各網(wǎng)站頁面大部分數(shù)據(jù)的信息進行匯總,展現(xiàn)各二手房的地

理位置,戶型及價格等。通過數(shù)據(jù)展現(xiàn)的信息,提供給我們需要這個網(wǎng)站找取

長沙二手房房源的人,給予幫助,為他們住上滿意的房子提供參考。

1.2開發(fā)環(huán)境與工具

1.2.1Python簡介

Python是一種面向?qū)ο蟮慕忉屝陀嬎銠C程序設(shè)計語言,它最初由荷蘭人

吉多·范羅蘇姆研發(fā),于1991年首次發(fā)行。

從發(fā)展以來,隨著Python語言的不斷優(yōu)化以及計算機硬件技術(shù)的迅猛發(fā)

展,動態(tài)語言已經(jīng)越來越受到軟件界的重視,增加了許多新的語言特性,其中

的代表性語言有Python、Ruby、SmallTalk、Groovy等。其影響也在項目開

發(fā)進度上不斷擴大。它也是近年來流行的編程語言之一,簡潔的語法和卓越的

可讀性使其成為初學(xué)者的完美編程語言,并且深受編程人員的喜愛和追捧。

Python語言也具備很多優(yōu)勢,其之所以能夠迅速發(fā)展,受到程序員的青

睞,與它所具有的特點密不可分。首先它簡單易學(xué),代碼簡潔、短小,程序

結(jié)構(gòu)很清晰,方便閱讀,其次,程序可讀性好,python和其他高級語言相比,

通過強制程序縮進,具有很好的可讀性,同時Python的縮進規(guī)則也有利于程

序員養(yǎng)成良好的程序設(shè)計習(xí)慣。還有,python語言是開源的并且免費,用戶不

僅可以下載網(wǎng)頁的源代碼,還可以使用Python進行開發(fā)或者發(fā)布自己的程

序,不需要支付任何費用,也不用擔(dān)心版權(quán)問題。它的功能也很強大,模塊眾

多,基本實現(xiàn)了所有的常見的功能。擴展性強,其依靠其良好的擴展性,在一

定程度上彌補了運行效率慢的缺點。

隨著大數(shù)據(jù)時代的發(fā)展,網(wǎng)絡(luò)時代的數(shù)據(jù)的鋪天蓋地,python語言在數(shù)據(jù)

處理方面,占據(jù)著巨大的作用。大數(shù)據(jù)與python的關(guān)系是一對密切的多彩組

合,兩者的相互作用,為我們獲取了許多有價值的信息。Python的靈活性和其

強大的操作能力,為數(shù)據(jù)分析師后續(xù)數(shù)據(jù)的提取挖掘提供了很大的幫助。因

此,在python語言程序的帶動下,大數(shù)據(jù)時代在程序員手中井條有序的運行

著。

1.2.2Jupyternotebook簡介

數(shù)據(jù)時代的到來,JupyterNotebook已迅速成為數(shù)據(jù)分析,機器學(xué)習(xí)的

必備工具。它是隨Python發(fā)展衍生而出的高級交互式數(shù)據(jù)科學(xué)編程工具,在

2

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

Python數(shù)據(jù)分析領(lǐng)域廣泛流行,這款強大工具的主體受眾是數(shù)據(jù)科學(xué)領(lǐng)域的從

業(yè)者,尤其是對數(shù)據(jù)分析、數(shù)據(jù)建模有較多需求的用戶。

JupyterNotebook是一個支持實時代碼,教學(xué)方程,可視化和makdown

的Web應(yīng)用程序,支持很多種編程語言。對于數(shù)據(jù)分析來說,其最大優(yōu)點是可

以讓數(shù)據(jù)分析師集中精力向用戶解釋整個分析過程。能讓用戶將說明文本、數(shù)

學(xué)方程、代碼和可視化內(nèi)容全部組合到一個易于共享的文檔中,用戶可以很一

目了然的得到其分析結(jié)構(gòu)并可分享給他人。

JupyterNotebook是通過網(wǎng)頁的形式打開,可以在網(wǎng)頁頁面中直接編寫代

碼和運行代碼,代碼的運行結(jié)果也會直接在代碼塊下顯示的程序。如在編程過

程中需要編寫說明文檔,可在同一個頁面中直接編寫,便于作及時的說明和解

釋。如要繪制圖,也可通過其提供的庫進行編輯,結(jié)果會很形象的展示出來。

在大數(shù)據(jù)時代下,其提供的幫助巨大,其功能的強大為我們數(shù)據(jù)的展現(xiàn)提供了

很大的空間。

對于剛剛步入接觸這個Jupyternotebook應(yīng)用程序的學(xué)者,可以先安裝

安裝Anaconda,此版本中自帶Jupyternotebook??梢院芸鞂崿F(xiàn)自己想要的操

作內(nèi)容。也可以通過官網(wǎng)查詢到安裝包,進行獲取安裝。

1.2.3Python第三方庫簡介

網(wǎng)絡(luò)爬蟲:

requests:是一個原生的HTTP庫,擁有完全自動化的Keep-Alice和HTTP

連接池功能。

beautifulsoup4庫:用于解析和處理HTML和XML。

Lxml:python的一個解析庫,這個庫支持HTML和xml的解析,支持

XPath的解析方式

數(shù)據(jù)可視化:

matplotlib:比較重要的python繪圖庫,通過該庫可以很輕松的繪制一些

復(fù)雜的圖形,主要是偏向于二維繪圖包括折線圖、條形圖、扇形圖、散點圖、

直方圖等等。

Pyecharts:用于生成Echarts圖表的類庫,也可以用來繪制圖形。

NumPy庫:是Python數(shù)據(jù)分析的基礎(chǔ),是處理數(shù)組的Python庫,NumPy庫

的數(shù)據(jù)結(jié)構(gòu)比Python自帶的更加高效。用來存儲和處理大型矩陣,如矩陣運

算、矢量處理、N維數(shù)據(jù)變換等。

pandas:數(shù)據(jù)分析并保存為csv文件,python數(shù)據(jù)分析高層次應(yīng)用庫,還可

3

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

以進行數(shù)據(jù)清洗。其為一個強大的分析結(jié)構(gòu)化數(shù)據(jù)的工具集,基于numpy擴展

而來,提供了一批標準的數(shù)據(jù)模型和大量便捷處理數(shù)據(jù)的函數(shù)和方法。

Re:正則表達式解析和處理功能庫,里面包含了多種字符串匹配的方法。

Csv:csv屬于python中的內(nèi)置模塊,它能夠讀取csv格式的文件或者將數(shù)

據(jù)存入到csv表格中。并且csv文件是表格和數(shù)據(jù)庫中常見的文件操作格式。

wordcloud:wordcloud-詞云生成器。

2需求分析

2.1可行性需求分析

1、技術(shù)可行性

Python是程序編輯的腳本語言,給我們提供了很多庫,方便我們進行后續(xù)

計算機操作。在這次的項目中使用Python語言編寫程序來爬取數(shù)據(jù),儲存數(shù)

據(jù),然后對一些數(shù)據(jù)進行清洗,去掉不足之處,再進一步對數(shù)據(jù)清洗的數(shù)據(jù)進

行初步查看,是否符合需求數(shù)據(jù),最后進行對數(shù)據(jù)的可視化分析,用圖展現(xiàn)出

來。此過程中,爬取貝殼網(wǎng)長沙二手房數(shù)據(jù),爬取該網(wǎng)站,通過觀察對比分析

網(wǎng)頁的布局,點擊不同頁面,發(fā)現(xiàn)頁面是動態(tài)的,我們可以通過python反爬

來處理。借助瀏覽器訪問該網(wǎng)站的頁面開發(fā)者工具上面的Headers字段,得到

反爬需要的參數(shù)(Cookies,User-Agent,get)來請求網(wǎng)頁,然后進行各字段數(shù)

據(jù)的爬取,這樣就可以順利爬取到原始數(shù)據(jù)??梢詫⑴赖降臄?shù)據(jù)用csv文件格

式儲存起來,方便到時候處理分析數(shù)據(jù),并對其可視化處理。

以上為此次項目的技術(shù)可行性,我也將在后續(xù)的工作中將所有的步驟實現(xiàn)

到位,保證數(shù)據(jù)的合理性和安全性。

2、項目可行性

如今,隨著中國房地產(chǎn)業(yè)的發(fā)展趨勢,二手房數(shù)量也越來越多,人們對其

需求和關(guān)注也遠大于新房。從價格因素看,剛需購房者對購房總價或套均價較

為敏感,同一個地區(qū),二手房的套均價要明顯低于新房。需求者購買二手房的

經(jīng)濟壓力明顯要小很多,人們更能容易實現(xiàn)居者有其屋的想法。但人們擁有買

到一所心滿意足的二手房,就得考慮很多方面的因素。

本次項目通過采集人們會用到的比較常見的二手房網(wǎng)站的數(shù)據(jù)(貝殼

網(wǎng)),來分析長沙地區(qū)的二手房信息。我們也將從二手房小區(qū)分布數(shù)量、朝

向、關(guān)注熱度,戶型,總價等方面對其進行全面分析,得出有價值的信息,供購

房者參考。

4

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

2.2采集目標功能分析

本次項目的數(shù)據(jù)集的來源是貝殼二手房網(wǎng)站(長沙),是通過python爬取

長沙城市二手房的數(shù)據(jù)信息。數(shù)據(jù)清洗后共2772條記錄,爬取完成后盡可能的

檢查數(shù)據(jù)的可靠性,確定爬取出來的數(shù)據(jù)無誤并且是屬于貝殼二手房網(wǎng)站存在

的樓房信息。

根據(jù)對貝殼二手房長沙地區(qū)的網(wǎng)頁數(shù)據(jù)頁面提供的信息,明白自己需要爬

取房子標題,小區(qū)名稱,樓層層次,朝向,總面積,平均價格,總價格,關(guān)注

情況等數(shù)據(jù)。對數(shù)據(jù)進行初步的爬取整理之后,將對數(shù)據(jù)進行幾個方面的分

析。例如,從二手房名稱在數(shù)據(jù)中出現(xiàn)的頻率進行統(tǒng)計分析,朝向分布大致分

布占比,人們對于小區(qū)關(guān)注的熱度情況進行統(tǒng)計,還有戶型分布,總價分布

等。

2.3關(guān)鍵技術(shù)分析

2.3.1Python網(wǎng)絡(luò)爬蟲技術(shù)

在這個數(shù)據(jù)漫天飛揚的時代,在龐大的數(shù)據(jù)面前,我們是如此嬌小。更隨

著互聯(lián)網(wǎng)的發(fā)展,數(shù)據(jù)信息在網(wǎng)絡(luò)上到處闖蕩,當(dāng)我們要去探索挖掘獲取其中

德數(shù)據(jù)時,單靠自己手動操作,一條一條,一件一件的獲取,仿佛是無用功,

時間復(fù)雜度也增加了,數(shù)據(jù)中也看不出我們想要的有價值的數(shù)據(jù)內(nèi)容。因此,

如何獲取這些數(shù)據(jù),并有序的數(shù)據(jù)條展現(xiàn)在我們的面前,并提供給我們有質(zhì)量

的數(shù)據(jù),這就要靠我們的Python網(wǎng)絡(luò)爬蟲技術(shù)來抓取數(shù)據(jù)。

Python爬蟲技術(shù)它作為數(shù)據(jù)獲取的來源之一,作為收集互聯(lián)網(wǎng)數(shù)據(jù)的一種

常用工具,在數(shù)據(jù)編制的復(fù)雜世界中扮演著重要的角色。它也被稱為網(wǎng)頁蜘

蛛,網(wǎng)絡(luò)機器人。它是一種按照一定的規(guī)則,自動地抓取網(wǎng)絡(luò)信息的程序或者

腳本的??梢园鸦ヂ?lián)網(wǎng)比作一張大的蜘蛛網(wǎng),一臺計算機上的數(shù)據(jù)便是蜘蛛網(wǎng)

上的一個獵物,而爬蟲程序就是一只小蜘蛛,他們沿著蜘蛛網(wǎng)抓取自己想要的

獵物/數(shù)據(jù)。而且它運行得非??欤⑶也粫驗橹貜?fù)的事情而感到疲倦,使

用Python爬蟲技術(shù)獲取大量數(shù)據(jù)也因此變得非常簡單和快速。比如一家銷售

公司,想要得知這一年一件物品的銷售情況,就可以運用此技術(shù)對該公司的銷

售網(wǎng)站數(shù)據(jù)進行爬取。還有在一個網(wǎng)站上獲取自己喜愛類型的電影視頻也可以

通過這項技術(shù)獲得。

網(wǎng)絡(luò)爬蟲是指按照一定規(guī)則獲取網(wǎng)絡(luò)信息的程序。也可以這樣說,爬蟲是

5

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

通過編寫程序,模擬瀏覽器上網(wǎng),然后讓其去互聯(lián)網(wǎng)上抓取數(shù)據(jù)的過程。其基

本流程包括發(fā)起請求(即通過URL模擬計算機向服務(wù)器發(fā)送Request請求,并

等待服務(wù)器響應(yīng)),獲取響應(yīng)(即當(dāng)服務(wù)器正常響應(yīng)時,會返回服務(wù)器端的

Response,即URL,對應(yīng)的頁面內(nèi)容),解析內(nèi)容(即返回的頁面內(nèi)容可能是

HTML、JSON字符串、二進制數(shù)據(jù)等類型,需要采用不同的方法進行處理),保

存數(shù)據(jù)(即解析后的數(shù)據(jù)可以保存成多種形式的數(shù)據(jù),例如文本、數(shù)據(jù)庫或其

他特定類型的文件)。

爬蟲有時候會受一定程度的限制,那我們?nèi)绾雾樌@取數(shù)據(jù)呢?這就關(guān)系

到了我們的反爬技術(shù)。對于靜態(tài)頁面針對爬蟲的手段常常為Headers驗證。

Headers反爬主要包括:User-Agent(用戶代理)referer(請求來自哪里)

cookie(也可以用來做訪問憑證)這三種方式。如今,網(wǎng)頁大多都是動態(tài)

的,其數(shù)據(jù)是通過js渲染加載的,對于用靜態(tài)頁面反爬的方式已經(jīng)不允許了

所以,掌握爬取動態(tài)加載數(shù)據(jù)的方法也就顯得十分必要。我們可以用requests

解析地址,獲取頁面代碼。然后運用各種庫來解析我們的網(wǎng)頁。常見的有

BeautifulSoup和lxml等。這樣就能爬取到我們所需的數(shù)據(jù)了。

但是在使用Python爬蟲時,最重要的是遵守法律法規(guī),并且要尊重網(wǎng)站

的服務(wù)條款和隱私政策。爬蟲的原則:不可以妨礙當(dāng)前網(wǎng)站的正常的運營(例

如超頻率爬取,導(dǎo)致網(wǎng)站負擔(dān)過重,從而破壞網(wǎng)站的正常運轉(zhuǎn),隱私保護),

不可以進行惡意爬取,不可以去竊取他人受法律保護的信息(不要爬取被網(wǎng)站

標記為保密的數(shù)據(jù),最重要的是不要泄露用戶的隱私信息)。還有要遵守機器

人協(xié)議,遵守robots.txt文件的規(guī)定(很多網(wǎng)站都會有一些特定的爬蟲協(xié)

議,例如爬取頻率的限制,允許的爬取內(nèi)容和限制爬取的內(nèi)容等協(xié)議規(guī)定)。

因此,可以看出爬蟲給我們的生活帶來了許多便利同時,我們也要維護好

網(wǎng)絡(luò)世界的安全,要做一個合格的網(wǎng)絡(luò)者!

2.3.2文件存取技術(shù)

運用PyCharm內(nèi)置csv模塊,將數(shù)據(jù)存儲到csv文件中,命名為“貝殼網(wǎng)

二手房數(shù)據(jù)”,以正確的編碼格式存儲,加入頭行標題。如圖2-1顯示:

6

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

圖2-1PyCharm中csv文件儲存

其次就得到這個磁盤文件數(shù)據(jù)的csv文件,內(nèi)容如圖2-2:

圖2-2PyCharm爬取到的數(shù)據(jù)內(nèi)容展現(xiàn)

2.3.3可視化技術(shù)

把爬取的數(shù)據(jù)通過csv文件儲存之后,打開這個文件可以發(fā)現(xiàn),數(shù)據(jù)條很

多,可以展示的信息是非常有限,除了知道爬取了一些什么類型的數(shù)據(jù)文字,

但看不出數(shù)據(jù)之間的聯(lián)系。既然要爬取出來這些數(shù)據(jù),說明這些海量數(shù)據(jù)對我

們來說是很有用的,那我們?nèi)绾巫屗a(chǎn)生價值呢?

從雜亂無章的數(shù)據(jù)中找尋價值規(guī)律,恰如同大海撈針。要想讓這些數(shù)據(jù)產(chǎn)

生供我們有價值的東西,這就要用到我們的數(shù)據(jù)可視化技術(shù)。

馬云曾經(jīng)說“互聯(lián)網(wǎng)還沒搞清楚的時候移動互聯(lián)網(wǎng)來了,而在移動互聯(lián)網(wǎng)

還沒搞清楚的時候大數(shù)據(jù)來了,更在大數(shù)據(jù)還沒有搞清楚的時候,數(shù)據(jù)可視化

來了”。數(shù)據(jù)可視化已經(jīng)成為我們生活中不可分割的一部分,分布在各個角

落。它也給我們的生活帶來了許多便利:提高了人們對數(shù)據(jù)信息的利用率和工

7

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

作效率(比如:抖音直播一個月的交易量統(tǒng)計,世界人口普查等)都是通過數(shù)

據(jù)可視化技術(shù)將數(shù)據(jù)展現(xiàn)出來。

數(shù)據(jù)可視化的分析是將海量數(shù)據(jù)通過圖形的方式“翻譯”成有價值的圖,

把它展現(xiàn)在我們面前,讓我們明白數(shù)據(jù)之間的聯(lián)系,帶給我們視覺上的沖擊,

揭示蘊含在數(shù)據(jù)中的價值規(guī)律和道理。

數(shù)據(jù)可視化的主要方法包括圖表類型的選擇和圖表設(shè)計的準則。我們要根

據(jù)數(shù)據(jù)分析的實際情況,有針對性地選擇合適的對口的數(shù)據(jù)可視化方法。然而

數(shù)據(jù)的可視化的圖表花樣繁多,主要有條形圖,柱狀圖,直方圖,餅圖,漏斗

圖,散點圖,詞云圖等,如何選擇呢?在這些圖形中,如果要將大量文本進行

分析和比較,就可用詞云圖。如果要直觀反映關(guān)鍵的變化情況時,可用柱形

圖。如果展示數(shù)據(jù)隨時間或有序類別的波動情況的趨勢變化,可選折線圖等。

在構(gòu)好圖形思路后,導(dǎo)入我們需要的庫,在數(shù)據(jù)可視化中主要有

matplotlib、seaborn、ggplot、bokeh、pygal、pyecharts庫。把數(shù)據(jù)傳進

去,得到我們所需要的圖形展示。數(shù)據(jù)圖形化完成后,可結(jié)合實際情況,將其

變?yōu)閯討B(tài)化和可操控性的圖表,用戶在操控過程中能更好地感知數(shù)據(jù)的變化過

程,提升體驗。在這次項目中,將爬取的數(shù)據(jù)進行可視化分析,其中用到了

pyecharts庫,用圖形的形式展現(xiàn)數(shù)據(jù)中有價值的規(guī)律與信息。

3數(shù)據(jù)采集

3.1采集頁面分析

首先,要知道自己的思路,腦海構(gòu)建一個大致的爬取采集計劃,然后借助

谷歌瀏覽器搜索貝殼網(wǎng)的官方網(wǎng)頁,然后找到二手房所在的長沙城市的目錄頁

面觀察圖3-1,其中第一個URL為:/ershoufang/pg1/,在

查看下一頁的數(shù)據(jù)時,發(fā)現(xiàn)url地址的規(guī)律,發(fā)現(xiàn)網(wǎng)頁pg后面的數(shù)字隨頁數(shù)

的變化而變化。

8

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

圖3-1數(shù)據(jù)網(wǎng)址頁面

然后進行進一步的觀察,用鼠標右擊調(diào)出小窗口,點檢查按鈕,調(diào)出開發(fā)

者工具,如圖3-2。

9

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

圖3-2開發(fā)者工具

利用全局搜索工具定位所需數(shù)據(jù)Network(網(wǎng)絡(luò)面板)位置,刷新頁面,點

擊開發(fā)者工具上面的Headers字段,分析這是個什么請求,得知該網(wǎng)頁是一個

Get請求的數(shù)據(jù),如圖3-3。

圖3-3Headers字段

3.2字段分析

首先通過瀏覽網(wǎng)頁進行分析,右擊鼠標檢查,可以打開網(wǎng)頁的開發(fā)者工具

頁面,刷新一下頁面再進入,點擊開發(fā)者工具界面上方的數(shù)據(jù)預(yù)覽Preview按

10

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

鈕,得到該網(wǎng)頁的字段??梢钥吹接蟹啃?,朝向,樓層等字段(如圖3-4),相

對于旁邊的頁面展示,可以找到相應(yīng)數(shù)據(jù)條對應(yīng)。然后找該網(wǎng)頁的一個房源,

爬取需要的字段,通過鼠標找到開發(fā)者頁面的網(wǎng)頁源代碼,找到對應(yīng)字段的地

址(如圖3-5),用xpath對其數(shù)據(jù)進行提取,并依次循環(huán)遍歷,找到多頁的信

息數(shù)據(jù),將數(shù)據(jù)一一對應(yīng)爬取下來。

圖3-4分析數(shù)據(jù)字段頁面

圖3-5分析數(shù)據(jù)字段源代碼

11

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

3.3編程實現(xiàn)

在編程實現(xiàn)前導(dǎo)入我們所需要用到的庫,如圖3-6:

圖3-6導(dǎo)入所需庫頁面

設(shè)置請求頭,通過User_Agent校驗反爬,偽裝成一部分瀏覽器訪問服務(wù)

器,更利于爬取數(shù)據(jù),如圖3-7:

圖3-7請求頭內(nèi)容頁面

代碼實現(xiàn)如下:

importcsv

fromlxmlimportetree

importurllib3

url='/ershoufang/pg{}/'

header={

'User_Agent':'Mozilla/5.0(WindowsNT10.0;WOW64)AppleWebKit/537.36(KHTML,

likeGecko)Chrome/Safari/537.36',

'Cookie':'lianjia_uuid=71c5630b-b40b-4c3a-997d-161ec2d311ed;

sensorsdata2015jssdkcross={"distinct_id":0-0039d91cf49777-74525476-

921600-1867309875a36f","$device_id":0-0039d91cf49777-74525476-921600-

1867309875a36f",select_city=430100;lianjia_ssid=c6df5c36-2f5a-4712-9f43-38676aa2c0ff',

'referer':'/'

}

list=[]

foriinrange(1,100):

url1=url.format(i)

#print(url1)

http=urllib3.PoolManager()

res=http.request('GET',url1,headers=header)

#print(res.status)

12

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

html=etree.HTML(res.data,parser=etree.HTMLParser(encoding='utf-8'))

house_name=html.xpath('//*[@class="infoclear"]/div[1]/a/text()')#房子的標題

#print(house_name)

adress=html.xpath('//*[@class="positionInfo"]/a/text()')#地址

#print(adress)

total_price=html.xpath('//*[@class="totalPricetotalPrice2"]/span/text()')#總價格

#print(total_price)

avg_price=html.xpath('//*[@class="unitPrice"]/span/text()')[:-2]#平均每平

#print(avgprice)

ceng=[]

house_ceng=html.xpath('//*[@class="houseInfo"]/text()')#樓層高低

house_ceng1=[x.strip()forxinhouse_cengifx.strip()!='']

foriinhouse_ceng1:

a=i.splitlines()

foriinrange(a.count('')):a.remove('')

ceng.append(a[0])

#print(ceng)

open_chao=[]

total_area=[]

hall=[]

house_ceng=html.xpath('//*[@class="houseInfo"]/text()')

house_ceng1=[x.strip()forxinhouse_cengifx.strip()!='']

foriinhouse_ceng1:

a=i.splitlines()

b=[x.strip()forxinaifx.strip()!='']

open_chao.append(b[-1][2:])

hall.append(b[-2][:4])

total_area.append(b[-2][7:-2])

#print(open_chao)#朝向

#print(hall)#幾室?guī)讖d

#print(area)#面積(平米)

follow_people=[]

follow=html.xpath('//*[@class="followInfo"]/text()')#關(guān)注人數(shù)-人關(guān)注

follow1=[x.strip()forxinfollowifx.strip()!='']

foriinfollow1:

a=i.splitlines()

foriinrange(a.count('')):a.remove('')

follow_people.append(a[0][:-3])

#print(follow_people)

dainti=html.xpath('//*[@class="tag"]/span[3]/text()')

#print(dainti)

13

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

d=zip(house_name,adress,ceng,open_chao,hall,total_area,avg_price,total_price,

follow_people)

list.append(d)

4數(shù)據(jù)儲存與處理

在對海量數(shù)據(jù)進行處理時,我們第一步做的事情就是對其數(shù)據(jù)進行清洗整

理,得到一份有質(zhì)量的數(shù)據(jù)。這是對于數(shù)據(jù)開發(fā)分析人員必須要記住的事情,

也是一項很重要的任務(wù),也是最終得到一份高效的數(shù)據(jù)展示的基本前提。

在這個項目進行中,將我們爬取到的所需的數(shù)據(jù)之后,要對數(shù)據(jù)進行整

理,查看是否滿足我們的需求。查詢數(shù)據(jù)有多少,并進行查看是否有空值和重

復(fù)值,防止數(shù)據(jù)缺失導(dǎo)致后續(xù)進程出現(xiàn)錯誤。這個過程中要根據(jù)自身對于數(shù)據(jù)

項目的理解進行篩選提取有價值的數(shù)據(jù)。

4.1數(shù)據(jù)儲存

在python的數(shù)據(jù)儲存中,可以使用數(shù)據(jù)庫進行存儲,比如:MySQL數(shù)據(jù)

庫,Redis數(shù)據(jù)庫,Mongdb數(shù)據(jù)庫。也可以使用python的第三方庫進行儲

存,比如:json,csv等的形式儲存。為后續(xù)可以直接在系統(tǒng)磁盤進行查看瀏覽

保存的相關(guān)數(shù)據(jù)的文件,此次數(shù)據(jù)使用pythonCharm中的庫csv文件格式進行

儲存,并對其數(shù)據(jù)設(shè)置頭標題,更容易看懂?dāng)?shù)據(jù)。如圖4-1:

圖4-1數(shù)據(jù)儲存展示代碼

輸入好相關(guān)數(shù)據(jù)代碼之后,對其進行運行操作,得到一個“貝殼網(wǎng)二手房

數(shù)據(jù)”命名的csv文件,可以在磁盤中清晰的展示出來相關(guān)的數(shù)據(jù),如圖4-

2:

14

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

圖4-2數(shù)據(jù)儲存完成數(shù)據(jù)展示

4.2數(shù)據(jù)清洗與處理

運用Jypyternotebook,對數(shù)據(jù)進行處理,達到我們想要得到的有價值的

信息。數(shù)據(jù)處理之前,先導(dǎo)入pandas庫,對文件進行導(dǎo)入,用對應(yīng)的函數(shù)形

式把csv文件格式給讀取出來并保存。

其次,用isnull()和sum()函數(shù)查看并統(tǒng)計是否存在缺失值和重復(fù)值,是

否達到了我們所想要的數(shù)據(jù)量。經(jīng)過比對和檢查,發(fā)現(xiàn)數(shù)據(jù)不存在缺失值,根據(jù)

需求得到了有用的數(shù)據(jù)。如圖4-3所示:

圖4-3數(shù)據(jù)清洗頁面

15

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

5數(shù)據(jù)統(tǒng)計與分析

5.1數(shù)據(jù)準備展示

通過查看前10行,與我們自己所需要的數(shù)據(jù)一致,這樣就便于數(shù)據(jù)信息

進行后續(xù)的統(tǒng)計數(shù)據(jù)和可視化操作。數(shù)據(jù)展示:如圖5-1:

圖5-1數(shù)據(jù)準備頁面展示

5.2數(shù)據(jù)展示

5.2.1依據(jù)二手房名稱統(tǒng)計

圖5-2小區(qū)名稱出現(xiàn)頻率詞云圖

16

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

將csv表中“小區(qū)名稱”列數(shù)據(jù)進行提取,對其數(shù)據(jù)進行匯總分析處理操

作,在爬取的數(shù)據(jù)信息中,對小區(qū)二手房分布數(shù)量對比進行展示,使用可視化

生成小區(qū)名稱出現(xiàn)頻率的詞云圖,如上圖5-2所示。

通過小區(qū)名,還可以看出一些小區(qū)位于那個位置,比如五礦哈佛小鎮(zhèn),華

潤置地廣場,富基世紀公園,就會很清晰知道房屋周圍會有哪一些配套措施,

以及它的環(huán)境狀況。人們可以迎合自己的喜好,結(jié)合地區(qū),環(huán)境來選擇自己滿

意的房子。

從全局分析,看出長大彩虹都在小區(qū)詞條中突出顯示,其次鑫遠湘府華城

北區(qū),鑫天山水洲城等小區(qū)。通過詞云大小排布的分析,可以得知各小區(qū)二手

房數(shù)量的分布狀況,對于看房的人,篩選出自己想要去住的小區(qū)之后,在數(shù)量

多的區(qū)中,會有更多的選擇,利于進行對比,哪個房子的質(zhì)量更高,從而選擇

出更優(yōu)質(zhì)的房源。

5.2.2依據(jù)朝向分布占比統(tǒng)計

圖5-3朝向占比分布展示

對于購房的人來說,對于房屋的朝向也是很看重的,講究通風(fēng)狀況,以及

家庭自身等因素,從古至今,這邊都有“坐北朝南”話術(shù)。房屋朝南一直都是

購房者受追捧的朝向。日照充足、南北通透也是最基本的。因為其采光充足,

冬季非常暖和,是個很不錯的選擇。

17

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

從圖5-3中可以看出,該網(wǎng)站爬取部分數(shù)據(jù)展示朝南的占比很高,數(shù)量為

1656,接近占了一半,約占爬取數(shù)據(jù)中的47.78%。全面的去觀察這些數(shù)據(jù)圖例

展示,朝向中都有指向南的方向。從中可以明白該網(wǎng)站的二手房數(shù)據(jù)迎合了大

眾的喜好。對于大部分購房者來說,都喜好通風(fēng),光照采光條件不錯的房子。

購房者可以安心在該網(wǎng)站挑選采光不錯的房源。

其次,該網(wǎng)站其朝向種類豐富。購房者就可以根據(jù)喜好的不同,生活習(xí)慣

的不同,來選擇合適朝向的房源,進行合理的選擇,挑出自己滿意的戶型,安

心買房。

5.2.3據(jù)小區(qū)關(guān)注熱度人數(shù)進行統(tǒng)計分析

圖5-4小區(qū)關(guān)注熱度展示

通常來說,關(guān)注的人越多,說明此地方有很多獨特的優(yōu)勢,有很適合宜人

居住的特點,影響力和號召力也很高。

通過對小區(qū)關(guān)注前10的熱度數(shù)據(jù)可視化展示(如圖:5-4),可以觀察到

長大彩虹都的關(guān)注度最高,其次是鑫遠湘府華城北區(qū),富興匯中央等。說明這

些小區(qū)很吸引人們的關(guān)注目光,也是對于購房者的一個在哪買一個優(yōu)質(zhì)房源的

要點。這對于需要房源的需求者來說,非常有用的,有了一個較為初步的判斷

信息,避免了不必要的麻煩,可以更快速找到優(yōu)質(zhì)房源。

其關(guān)注熱度高,也還可以說明一點,該小區(qū)基礎(chǔ)設(shè)置,環(huán)境園林景觀建設(shè)

方面很不錯,價格合理,房屋布局建設(shè)符合大眾的眼光,是個可以考慮的房

區(qū)。

18

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

5.2.4依據(jù)戶型分布

圖5-5戶型數(shù)量分布展示

看好地區(qū)之后,還有很多因素會影響我們?nèi)绾稳ベ徺I合適的房源,比如戶

型。通過貝殼網(wǎng)爬取部分數(shù)據(jù)分析,如圖5-5可以看出該網(wǎng)站數(shù)據(jù)很全面的顯

示了各個種類的戶型分布,可分為3室2廳,2室2廳,2室1廳,1室1廳等

分布情況。給了購房者很多的選擇的,其戶型在3室2廳的數(shù)量居多,很利于

更多人口居住。

一般,購買者可以根據(jù)自己的需求進行觀察,如根據(jù)自身家庭條件,人口

狀況,以及自身的經(jīng)濟狀況等。如是一個人在家居住,可以選擇一室一廳的,

相對于大戶型來說總價相對會低一些,小戶型緊湊,合理利用也可以創(chuàng)造更大

的空間。如是三口之家或者準備要孩子的,還有老人照顧的家庭需要大3室或

小三室,這樣就很合理。

19

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

5.2.5二手房總價分布情況

圖5-6二手房總

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論