安居客網(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頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

目錄

1引言1

1.1項目背景1

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

1.2.1Python簡介1

1.2.2MySQL簡介2

1.2.3Jypyternotebook簡介2

1.2.4Tableau簡介3

2需求分析3

2.1可行性需求分析3

2.2采集目標(biāo)功能分析4

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

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

2.3.2文件存取技術(shù)5

2.3.3可視化技術(shù)5

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

3.1采集頁面分析6

3.2字段分析7

3.3編程實現(xiàn)8

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

4.1數(shù)據(jù)清洗12

4.2數(shù)據(jù)儲存13

4.3操作實現(xiàn)14

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

5.1數(shù)據(jù)準(zhǔn)備15

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

5.2.1依據(jù)安居客深圳城市二手房地址信息進(jìn)行統(tǒng)計17

5.2.2依據(jù)安居客深圳城市二手房的標(biāo)題信息進(jìn)行統(tǒng)計18

I

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

5.2.3據(jù)進(jìn)安居客深圳城市二手房房價進(jìn)行條線圖統(tǒng)計和分析19

5.2.4依據(jù)安居客深圳城市二手房房價進(jìn)行折線圖統(tǒng)計和分析20

5.3綜述20

6小結(jié)21

參考資料21

II

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

安居客網(wǎng)站深圳城市二手房數(shù)據(jù)采集與分析

1引言

隨著城市的發(fā)展,房地產(chǎn)行業(yè)也越來越受到關(guān)注。二手房作為房地產(chǎn)行業(yè)

的重要組成部分,對于市場的發(fā)展和監(jiān)管起著至關(guān)重要的作用。因此,在如今

日益普遍的數(shù)據(jù)化時代,采集和分析二手房市場數(shù)據(jù)變得尤為重要。

本項目設(shè)計以深圳城市為研究對象,采集安居客網(wǎng)站上深圳城市二手房數(shù)

據(jù),并進(jìn)行系統(tǒng)的數(shù)據(jù)分析和挖掘。旨在通過對大量的實際數(shù)據(jù)樣本的獲取和

處理,揭示深圳二手房市場的特點和規(guī)律,對房地產(chǎn)企業(yè)、政府部門和個人投

資者提供參考意見。

1.1項目背景

近年來,隨著經(jīng)濟的快速發(fā)展和城市化進(jìn)程的加快,房地產(chǎn)業(yè)成為了我國

經(jīng)濟發(fā)展的支柱產(chǎn)業(yè)之一。而二手房市場則是房地產(chǎn)行業(yè)中不可或缺的重要部

分。深圳作為中國改革開放的前沿城市之一,其房地產(chǎn)市場發(fā)展迅速,并且隨

著近年來深港澳大灣區(qū)建設(shè)的推進(jìn),深圳城市二手房市場也面臨著新的機遇和

挑戰(zhàn)。

數(shù)據(jù)采集和分析在現(xiàn)代社會中扮演著越來越重要的角色。通過對大量的實

際數(shù)據(jù)進(jìn)行采集和處理,可以揭示市場的規(guī)模、結(jié)構(gòu)和規(guī)律,為政府部門、企

業(yè)和個人提供決策支持。針對深圳城市二手房市場的特點及其內(nèi)在規(guī)律進(jìn)行研

究,以便更好地幫助市場參與者進(jìn)行決策,提高市場運行效率已經(jīng)變得非常必

要。

本項目將利用爬蟲技術(shù)獲取安居客網(wǎng)站上深圳城市二手房數(shù)據(jù),并采用各

種數(shù)據(jù)分析和挖掘方法,在對數(shù)據(jù)進(jìn)行清洗和預(yù)處理后,對深圳二手房市場進(jìn)

行分析和研究。通過項目的實施,將為深圳房地產(chǎn)市場的進(jìn)一步發(fā)展和日益完

善提供有力支持。

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

1.2.1Python簡介

Python是一種高級編程語言,由荷蘭人GuidovanRossum于1990年代

1

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

初期設(shè)計開發(fā)。從最初的教育和科研領(lǐng)域應(yīng)用開始,Python逐漸成為工業(yè)和

商業(yè)領(lǐng)域中廣泛使用的一種通用編程語言。

對于本項目設(shè)計而言,Python作為非常適合數(shù)據(jù)分析和挖掘的編程語

言,可以發(fā)揮其優(yōu)越性能和靈活特點,提供高效的解決方案和工具支持。通過

使用Python,我們可以快速完成數(shù)據(jù)采集、處理、可視化和機器學(xué)習(xí)的相關(guān)

任務(wù),并獲得深入洞察市場和業(yè)務(wù)規(guī)律的有價值結(jié)論和見解。

Python是一種通用語言,可以用于各種應(yīng)用程序開發(fā),包括Web開發(fā)、

數(shù)據(jù)分析、人工智能、游戲開發(fā)、網(wǎng)絡(luò)編程等。它被廣泛地應(yīng)用于科學(xué)計算、

金融分析、機器學(xué)習(xí)、自然語言處理等領(lǐng)域。

Python擁有豐富的第三方庫和模塊,這些模塊可以輕松地實現(xiàn)各種功

能。另外,Python還有一個龐大而活躍的社區(qū),提供了豐富的資源和支持。

總之,Python是一種靈活、易于學(xué)習(xí)和使用的編程語言,是現(xiàn)代計算機

編程中不可缺少的一個工具。

最后,在編程語言排行榜中。Python的排名已經(jīng)與老牌的C語言和JAVA

語言不相上下,它也逐漸走進(jìn)非IT行業(yè)工作者的視野內(nèi)?,F(xiàn)如今,人們用它開

發(fā)簡單的小腳本用來做文件的自動化處理或者開發(fā)一些小網(wǎng)站打發(fā)無聊時光。

這也突出Python的特點就是易學(xué)、第三方庫足夠豐富、并且免費開源、支持

跨多平臺且可移植性比較強。

1.2.2MySQL簡介

MySQL是由瑞典MySQLAB公司開發(fā)的一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。它是

一款開源軟件,現(xiàn)在歸屬于Oracle公司。MySQL被廣泛應(yīng)用于WEB應(yīng)用程序

開發(fā)中,支持Windows、Linux、Unix等多種操作系統(tǒng),并且提供了多種語言

的API。

MySQL的優(yōu)勢在于它占用資源少、速度快、穩(wěn)定性高、易使用等特點。并

且,MySQL支持多用戶并發(fā)訪問,可以通過傳輸加密的方式保證數(shù)據(jù)的安全

性。此外,MySQL還有很多功能強大的擴展庫,例如MyISAM、InnoDB等。

總之,MySQL是一款功能強大、易于學(xué)習(xí)和使用的關(guān)系型數(shù)據(jù)庫管理系

統(tǒng),被廣泛應(yīng)用于Web應(yīng)用程序的開發(fā)

1.2.3Jypyternotebook簡介

JupyterNotebook是一種基于Web的交互式計算環(huán)境,支持各種編程語

言的交互式運行。它的名字取自三種編程語言的縮寫:Julia、Python和R。

2

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

JupyterNotebook提供了一個可編寫代碼、文檔和數(shù)據(jù)可視化的環(huán)境,

用戶可以將代碼、圖表和說明文字整合在一起,形成一個文檔。這個文檔還可

以被其他人訪問和編輯,方便協(xié)作。

JupyterNotebook支持超過40種編程語言,包括Python、R、Julia、

Scala等。它基于開放標(biāo)準(zhǔn)并且開源,非常適合數(shù)據(jù)分析、機器學(xué)習(xí)、科學(xué)計

算、可視化等領(lǐng)域的開發(fā)和應(yīng)用。

總之,JupyterNotebook是一種強大而靈活的交互式計算環(huán)境,具有廣

泛的應(yīng)用和豐富的擴展功能。

1.2.4Tableau簡介

Tableau是一款數(shù)據(jù)可視化和商業(yè)智能工具,由TableauSoftware開

發(fā)。它提供了一系列易于使用的功能,幫助用戶從各種數(shù)據(jù)源中獲取數(shù)據(jù)并創(chuàng)

建豐富、交互式的可視化報表、儀表盤、交互式地圖等,幫助用戶更好地理解

數(shù)據(jù)。

Tableau可以連接各種數(shù)據(jù)源,包括關(guān)系型數(shù)據(jù)庫、云數(shù)據(jù)存儲、NoSQL

數(shù)據(jù)庫等,并支持多個文件格式導(dǎo)入,例如.csv、.xls、.json等。在數(shù)據(jù)可

視化方面,Tableau提供了許多可視化工具,例如折線圖、柱狀圖、散點圖、

地圖、條形圖等,用戶可以根據(jù)自己的需求選擇最適合自己的可視化方式。

除了數(shù)據(jù)可視化之外,Tableau還提供了強大的數(shù)據(jù)分析功能,包括數(shù)據(jù)

清洗、數(shù)據(jù)處理、計算字段、公式等,使用戶可以輕松地對數(shù)據(jù)進(jìn)行探索和分

析。

總的來說,Tableau是一款非常流行和實用的商業(yè)智能軟件,廣泛應(yīng)用于

企業(yè)、政府、學(xué)術(shù)界等領(lǐng)域。

2需求分析

2.1可行性需求分析

安居客深圳城市二手房數(shù)據(jù)采集與分析項目設(shè)計是可行的,原因如下:

數(shù)據(jù)來源可靠:我們選擇在安居客官網(wǎng)上獲取數(shù)據(jù),該網(wǎng)站是一個專注于

房地產(chǎn)信息的平臺,其提供的信息具有較高的可靠性和權(quán)威性。

技術(shù)可實現(xiàn):Python編程語言擁有較為成熟的網(wǎng)絡(luò)爬蟲、數(shù)據(jù)處理、數(shù)

據(jù)可視化及機器學(xué)習(xí)領(lǐng)域的相關(guān)庫。同時,Python語言易于學(xué)習(xí)和操作,并

且具有廣泛應(yīng)用的優(yōu)勢。

3

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

市場需求存在:隨著經(jīng)濟的發(fā)展,房地產(chǎn)行業(yè)重要性不斷提高,市場規(guī)模

逐年擴大,快速掌握住深圳市場情報變化趨勢,對投資者或業(yè)內(nèi)人士具有很大

的參考價值。

可行性方案切換:在極特殊情況下,無法完成爬蟲和數(shù)據(jù)處理時,由于深

圳市區(qū)二手房租售信息相對齊全,我們還可以通過購買第三方數(shù)據(jù)源進(jìn)行分析

和挖掘。

總之,從數(shù)據(jù)來源可靠、技術(shù)可實現(xiàn)、市場需求存在以及可行性方案切換

等多個角度考慮,安居客深圳城市二手房數(shù)據(jù)采集與分析項目設(shè)計是具有可行

性的。

2.2采集目標(biāo)功能分析

安居客深圳城市二手房數(shù)據(jù)采集與分析項目設(shè)計的采集目標(biāo)功能分析可能

涉及以下方面:

1、數(shù)據(jù)采集:通過安居客網(wǎng)站爬取深圳城市二手房房源信息,包括房源

名稱、地址、總價、單價、戶型、面積、朝向、樓層等多個維度的信息。

2、數(shù)據(jù)清洗:對采集到的數(shù)據(jù)進(jìn)行清洗,去除重復(fù)數(shù)據(jù)、缺失數(shù)據(jù)等,

保證數(shù)據(jù)的準(zhǔn)確性和完整性。

3、數(shù)據(jù)分析:對清洗后的數(shù)據(jù)進(jìn)行統(tǒng)計和分析,計算二手房的平均總

價、單價、面積等指標(biāo),繪制二手房價格分布圖、戶型分布圖等可視化圖表,

幫助用戶更好地了解深圳城市二手房市場。

4、數(shù)據(jù)展示:將分析結(jié)果以報表、圖表、表格等形式直觀地展示出來,

方便用戶快速地獲取和查看深圳城市二手房市場的相關(guān)信息。

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

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

網(wǎng)絡(luò)爬蟲也被人們叫做網(wǎng)絡(luò)機器人,顧名思義就是讓人們不用自己動手操

作,只需要編寫程序或者一些小腳本用來自動的瀏覽龐大的互聯(lián)網(wǎng),并且對想要

的目標(biāo)網(wǎng)頁去進(jìn)行精準(zhǔn)的數(shù)據(jù)的采集。當(dāng)下常見的一些網(wǎng)絡(luò)爬蟲按照實現(xiàn)的原

理和技術(shù)結(jié)構(gòu)一般可以分為:通用網(wǎng)絡(luò)爬蟲、聚焦網(wǎng)絡(luò)爬蟲、增量式網(wǎng)絡(luò)爬

蟲、深層網(wǎng)絡(luò)爬蟲等一些類型。

網(wǎng)絡(luò)爬蟲(WebCrawler),也叫網(wǎng)絡(luò)蜘蛛或網(wǎng)絡(luò)機器人,是一種自動化程

序,可以按照一定規(guī)則在互聯(lián)網(wǎng)上自動抓取信息并進(jìn)行處理分析。簡單來說,

4

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

就是通過編寫程序模擬人的行為,在指定的網(wǎng)站或者整個互聯(lián)網(wǎng)上收集數(shù)據(jù)和

信息。

通常情況下,網(wǎng)絡(luò)爬蟲是通過HTTP協(xié)議訪問互聯(lián)網(wǎng)上的網(wǎng)頁,并抓取相

應(yīng)的信息。爬蟲可以自動遍歷多個頁面,獲取所需數(shù)據(jù),并將其存儲在數(shù)據(jù)庫

中,方便后續(xù)的處理和分析。

網(wǎng)絡(luò)爬蟲技術(shù)主要包括如下步驟:

抓取指定網(wǎng)頁:通過HTTP協(xié)議請求網(wǎng)頁,獲取網(wǎng)頁內(nèi)容,并解析HTML

代碼。

提取有用信息:從網(wǎng)頁中提取所需的信息,例如文本、圖片等。

存儲數(shù)據(jù):將提取到的信息存儲在本地或者遠(yuǎn)程數(shù)據(jù)庫中。

處理異常情況:網(wǎng)絡(luò)爬蟲需要考慮到可能出現(xiàn)的各種異常情況,例如網(wǎng)頁

不存在、請求超時等,需要進(jìn)行相應(yīng)的異常處理。

網(wǎng)絡(luò)爬蟲技術(shù)在各個領(lǐng)域都有廣泛的應(yīng)用,例如搜索引擎、數(shù)據(jù)挖掘、輿

情監(jiān)測等。但同時也需要注意合法性和道德性,不違反相關(guān)法律法規(guī)以及網(wǎng)站

的用戶協(xié)議。

2.3.2文件存取技術(shù)

Python中文件存取技術(shù)十分豐富,常見的幾種方式包括:

1、文本文件讀寫:使用Python內(nèi)置函數(shù)open()打開文件,通過

read()、write()等方法來讀寫文件。在讀取文本文件時,可以使用with語句

保證文件會被正確讀寫。

2、二進(jìn)制文件讀寫:與文本文件類似,但需要指定'b'模式(binary)來

打開文件,同時使用read()、write()等方法讀寫字節(jié)流。

3、CSV文件讀寫:使用Python標(biāo)準(zhǔn)庫中的csv模塊,可以方便地讀寫

CSV格式的文件。

4、JSON文件讀寫:使用Python標(biāo)準(zhǔn)庫中的json模塊,可以方便地讀寫

JSON格式的文件

2.3.3可視化技術(shù)

數(shù)據(jù)可視化是將數(shù)據(jù)通過圖表、圖形等可視化方式呈現(xiàn)出來,可以使數(shù)據(jù)

更加直觀、易于理解和分析。在數(shù)據(jù)可視化的流程中,一般包括以下幾個步

驟:數(shù)據(jù)收集、數(shù)據(jù)清洗、數(shù)據(jù)處理、數(shù)據(jù)可視化、數(shù)據(jù)交互等步驟。其中,

數(shù)據(jù)可視化是整個流程的核心,它可以幫助人們更好地發(fā)現(xiàn)數(shù)據(jù)之間的關(guān)系,

5

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

從而做出更加科學(xué)的決策。

常見的數(shù)據(jù)可視化方式有折線圖、柱狀圖、餅圖、散點圖、雷達(dá)圖等。此

外,隨著技術(shù)的發(fā)展,越來越多的新型可視化形式也被開發(fā)出來,例如熱力

圖、樹狀圖、力導(dǎo)向圖等。這些新型可視化形式可以更好地呈現(xiàn)數(shù)據(jù)之間的復(fù)

雜關(guān)系,豐富了數(shù)據(jù)可視化的應(yīng)用場景。

數(shù)據(jù)可視化工具可以幫助人們快速地進(jìn)行數(shù)據(jù)可視化,常見的工具包括

Excel、Tableau、ChartBlocks等[1]。在進(jìn)行數(shù)據(jù)可視化時,設(shè)計師需要遵

循一定的設(shè)計原則,例如選擇合適的顏色、字體、比例等,以達(dá)到更好的視覺

效果和用戶體驗。

數(shù)據(jù)可視化在實際應(yīng)用中有著廣泛的應(yīng)用場景,例如商業(yè)分析、科學(xué)研

究、金融風(fēng)險管理等。同時,隨著大數(shù)據(jù)時代的到來,數(shù)據(jù)可視化也日益重要

起來,可以幫助企業(yè)更好地理解和應(yīng)用大數(shù)據(jù)

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

3.1采集頁面分析

我們先通過MicrosoftEdge瀏覽器對安居客的官網(wǎng)進(jìn)行搜索,去把其相

關(guān)的頁面信息進(jìn)行熟悉,并點擊了二手房深圳的頁面進(jìn)行了查看,相關(guān)頁面信

息如圖3-1所示。

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

按F12調(diào)出開發(fā)者工具,查看所在頁面的相關(guān)信息,尤其注意靜態(tài)的相關(guān)

代碼。

6

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

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

在把需要爬取的頁面進(jìn)行了確定之后,我們便開始了對其頁面的字段分

析。

3.2字段分析

根據(jù)具體需求進(jìn)行篩選和整理。例如,如果需要研究不同區(qū)域的房價水

平,可以選擇所在區(qū)域、建筑面積、總價等字段進(jìn)行分析;如果需要研究裝修

情況對房價的影響,可以選擇裝修情況、建筑面積、總價等字段進(jìn)行分析。同

時,可以通過數(shù)據(jù)可視化技術(shù)將分析結(jié)果呈現(xiàn)出來,以便更好地理解和應(yīng)用數(shù)

據(jù)。相關(guān)的分析數(shù)據(jù)類型如圖3-3所示。

圖3-3分析數(shù)據(jù)類型頁面

7

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

3.3編程實現(xiàn)

導(dǎo)入所需庫,使用其相應(yīng)的功能,如圖3-4所示。

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

設(shè)置請求頭,偽裝成瀏覽器訪問服務(wù)器,使其可以對相關(guān)的數(shù)據(jù)進(jìn)行爬

取。相關(guān)的請求頭部分如圖3-5所示。

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

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

importrequests

importtime

fromlxmlimportetree

importre

importcsv

##url是第一頁地址,url-model是最后一頁地址...

url='/sale/p46/?from=HomePage_TopBar'

url_model=

'/sale/p46/?from=HomePage_TopBar'#

第一頁,只有46頁的數(shù)據(jù)、46以后是空的...

urls='/sale/p1/'

##可能升級了,會檢查cookies了...

8

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

headers={

'User-Agent':'Mozilla/5.0(WindowsNT10.0;WOW64)AppleWebKit/'

'537.36(KHTML,likeGecko)Chrome/94.0.4606.71

Safari/537.36Core/'

'00QQBrowser/11.6.5265.400',

#'referer':'/',

}

#res=requests.get(url_model,headers=headers)

#print(res)

#print(res.text)

filename='深圳市二手房.csv'

#自定義,建立表格的函數(shù),傳入文件名

defcreate_table(filename):

f=open(filename,'w',encoding='utf-8-sig',newline='')#w覆蓋

寫入,表頭

ww=csv.writer(f)

head=['標(biāo)題','地址','區(qū)','總價多少','平方價格','房屋基本信

息','總價數(shù)值']#表頭

ww.writerow(head)

f.close()

#自定義,儲存信息的函數(shù),傳入文件名,和傳入數(shù)據(jù)..

defsave_data(filename,data):

f=open(filename,'a',encoding='utf-8-sig',newline='')#追加a

寫入數(shù)據(jù),不斷地追加寫入..

ww=csv.writer(f)

ww.writerow(data)

f.close()

#自定義的解析函數(shù)...

defparse_data(page_text):

tree=etree.HTML(page_text)#etree解析網(wǎng)頁源代碼

#提取一個頁面中所有信息的div列表

div_list=

tree.xpath('//*[@id="esfMain"]/section/section[3]/section[1]/section

[2]/div')

##所有房屋所在div大列表

forliindiv_list:#遍歷div列表中的每一個小div標(biāo)

簽...

9

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

####標(biāo)題,地址,哪個區(qū),總價,平方價格,房屋基本

情況,總價的數(shù)值####

title=li.xpath('./a/div[2]/div[1]/div[1]/h3/text()')[0]

#

//*[@id="esfMain"]/section/section[3]/section[1]/section[2]/div[1]/a

/div[2]/div[1]/div[1]/h3

#

//*[@id="esfMain"]/section/section[3]/section[1]/section[2]/div[2]/a

/div[2]/div[1]/div[1]/h3

address=

li.xpath('./a/div[2]/div[1]/section/div[2]/p[1]/text()')[0]#

地點

#

//*[@id="esfMain"]/section/section[3]/section[1]/section[2]/div[1]/a

/div[2]/div[1]/section/div[2]/p[1]/text()

#

//*[@id="esfMain"]/section/section[3]/section[1]/section[2]/div[2]/a

/div[2]/div[1]/section/div[2]/p[1]/text()

address1=

li.xpath('./a/div[2]/div[1]/section/div[2]/p[2]//text()')[0]

#

//*[@id="esfMain"]/section/section[3]/section[1]/section[2]/div[1]/a

/div[2]/div[1]/section/div[2]/p[2]

#

//*[@id="esfMain"]/section/section[3]/section[1]/section[2]/div[2]/a

/div[2]/div[1]/section/div[2]/p[2]

address1=''.join(address1)#深圳的哪個區(qū),使之列表

轉(zhuǎn)化成字符串...

total_price=

li.xpath('./a/div[2]/div[2]/p[1]/span[1]/text()')[0]#總價的數(shù)值

形式

total_price1=total_price+'萬'#總價多少,加上一

個萬...#總價的字符串表示..+‘萬’

#

//*[@id="esfMain"]/section/section[3]/section[1]/section[2]/div[1]/a

/div[2]/div[2]/p[1]/span[1]

#

//*[@id="esfMain"]/section/section[3]/section[1]/section[2]/div[2]/a

/div[2]/div[2]/p[1]/span[1]

adv_price=li.xpath('./a/div[2]/div[2]/p[2]/text()')[0]

#均價多少..

10

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

#

//*[@id="esfMain"]/section/section[3]/section[1]/section[2]/div[1]/a

/div[2]/div[2]/p[2]

infos=li.xpath('./a/div[2]/div[1]/section/div[1]//text()')

#基本情況

#

//*[@id="esfMain"]/section/section[3]/section[1]/section[2]/div[1]/a

/div[2]/div[1]/section/div[1]

infos=''.join(infos)#基本情況,列表轉(zhuǎn)為字符串...

infos=re.sub('\n','',infos)#去掉換行符

infos=re.sub('','',infos)#去掉無用空格

#總價的數(shù)值形式處理,清洗為數(shù)值...

total_price=float(total_price)*10000#轉(zhuǎn)為浮點型小

數(shù),乘上1000(1萬)的數(shù)值

total_price=int(total_price)#再取整

total_price=str(total_price)#轉(zhuǎn)為字符串存儲

#data=[title,address,infos]

data=[title,address,address1,

total_price1,adv_price,infos,total_price]#所有數(shù)據(jù)放入列表

save_data(filename,data)#存儲數(shù)據(jù)的函數(shù)...

print(data)

#自此調(diào)用,創(chuàng)建表格的函數(shù)

create_table(filename)

foriinrange(1,10):#從1-10,逐漸翻頁

#url_models=

f'/sale/p{i}/?from=HomePage_TopBar'#從

第一頁開始,更改參數(shù)、實現(xiàn)翻頁效果..

url_models=f'/sale/p{i}/'

headers['referer']=f'/sale/p{i}/'

##更改refrer...鍵值對...

res=requests.get(url_models,headers=headers)

print(res)

#print(res.text)

parse_data(res.text)#貌似每每超過10頁就會報錯,安居客

的反扒措施...

time.sleep(2)

print(i,888888)

ifi==11:#超過10了,選擇終止迭代

11

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

break

#完成的提示...

print('(安居客),深圳市二手房采集已經(jīng)完成?。。?/p>

')

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

獲得龐大的數(shù)據(jù)集之后我們需要對數(shù)據(jù)進(jìn)行預(yù)處理,也就是所謂的清洗和

檢查,確定爬取過來的數(shù)據(jù)是否存在無效值和確實值,要保證數(shù)據(jù)的一致性,這

個對于信息質(zhì)量的評估是一項很重要的任務(wù)。不僅如此,我們需要將數(shù)據(jù)進(jìn)行

有理化和有序化,這樣子能夠在數(shù)據(jù)調(diào)用共享過程中方便很多開發(fā)人員對數(shù)據(jù)

信息的使用。

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

本次項目中我們需要將爬下來的數(shù)據(jù)和網(wǎng)頁原數(shù)據(jù)進(jìn)行比對,并且檢查是

否出現(xiàn)空值、錯值,還有數(shù)據(jù)的位置是否正確。根據(jù)不同的需求我們要對數(shù)據(jù)

進(jìn)行不同的處理,相關(guān)的數(shù)據(jù)清洗代碼如圖4-1所示。

圖4-1數(shù)據(jù)清洗準(zhǔn)備頁面

12

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

如圖4-2所示,經(jīng)過比對和檢查,發(fā)現(xiàn)數(shù)據(jù)不存在缺失,錯位還有空值,那

么我們根據(jù)需求將有效數(shù)據(jù)統(tǒng)一規(guī)劃去掉不要的行列數(shù)據(jù),防止數(shù)據(jù)冗余。因

此我們只需保留需要的數(shù)據(jù),然后整理為原網(wǎng)頁格式存入csv文件中,留存后續(xù)

作為統(tǒng)計分析、可視化使用。

圖4-2數(shù)據(jù)清洗完成界面

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

數(shù)據(jù)儲存得方法有很多種,常見得可以直接用記事本格式儲存(txt),或

者直接用其他文件的形式儲存csv、excel、json等,但是以上方法保存的數(shù)據(jù)

體量普遍都比較小。如果需要儲存較大的數(shù)據(jù)信息就需要用到我們的數(shù)據(jù)庫,

數(shù)據(jù)庫也分為關(guān)系型和非關(guān)系型數(shù)據(jù)庫。關(guān)系型數(shù)據(jù)庫比較典型的有MySQL和

Oracle等,非關(guān)系型數(shù)據(jù)庫等以鍵值對形式儲存數(shù)據(jù)的代表有Mongodb、Redis

等。本次項目我們用到的是csv、MySQL。

如圖4-3所示:

13

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

圖4-3數(shù)據(jù)存儲為csv文件的頁面

圖4-4數(shù)據(jù)存儲MySQL頁面

如圖4-4中,我們在利用了NavicatPremium12中的csv表導(dǎo)入之后,

在點擊查看表的相關(guān)信息時,發(fā)現(xiàn)表的信息成功導(dǎo)入。

4.3操作實現(xiàn)

本次我們使用的是NavicatPremium12的csv文件直接導(dǎo)入到數(shù)據(jù)庫之

中,在localhost_3306的連接之下新建了二手房信息的數(shù)據(jù)庫,結(jié)果如圖4-

5所示。

圖4-5數(shù)據(jù)存儲MySQL頁面

在二手房信息的數(shù)據(jù)庫中,我們點擊導(dǎo)入向?qū)нM(jìn)入導(dǎo)入的操作界面,如圖

4-6所示。

14

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

圖4-6數(shù)據(jù)存儲MySQL頁面

在導(dǎo)入的界面之中,我們選擇CSV文件的導(dǎo)入方式,便可把數(shù)據(jù)導(dǎo)入到

數(shù)據(jù)庫中,并在其之下建立了一個新表,結(jié)果如圖4-7所示。

圖4-7數(shù)據(jù)存儲MySQL頁面

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

5.1數(shù)據(jù)準(zhǔn)備

我們利用了pandas的read_csv的相關(guān)功能,先對在本地的csv文件進(jìn)行

查看,如圖5-1所示,成功的把數(shù)據(jù)進(jìn)行了展示,沒有發(fā)生報錯的現(xiàn)象,

15

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

圖5-1數(shù)據(jù)準(zhǔn)備頁面

我們對加載出來的數(shù)據(jù)進(jìn)行查看,如圖5-2所示。

圖5-2數(shù)據(jù)加載頁面

打開Tableau軟件,選擇本地文件,加載源文件data。csvs,如圖5-3所

表。

16

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

圖5-3Tableau頁面

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

5.2.1依據(jù)二手房地址信息進(jìn)行統(tǒng)計

圖5-4數(shù)據(jù)展示頁面

如圖5-4所示我們示將在表格中地址的字段數(shù)據(jù)進(jìn)行匯總和處理然后將其

統(tǒng)計出現(xiàn)的頻率,我們可以發(fā)現(xiàn)在眾多的地址中,?;▓@、一期、二期、三期等

17

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

字樣較為突出,從中我們可以看出在環(huán)境方面人們比較在意是否有花園的存

在,由此我們可以看出生態(tài)的建設(shè)尤為重要。

而一期、二期、三期的之中,我們可以看出二期的字樣尤為碩大,因為再

房產(chǎn)界中,二期相較于一期和三期,自然入戶體驗也會更加舒服。二期房子在

建設(shè)的時候,可能會避免一期房子出現(xiàn)的問題,比較注重入住后的實際效果,

所以很多人比較愿意選擇二期的房子,二期房在整個的房屋建造和室內(nèi)細(xì)節(jié)設(shè)

計上,都會比一期房更加的精致,細(xì)節(jié)處理的也更加到位。二期的房子價格比

一期要高很多,但在整體質(zhì)量更好的優(yōu)勢下,還是讓人們更加對這樣的房屋更

有購買的吸引力,所以在二手房的標(biāo)題信息中,更加的突出。

總的來說,環(huán)境、房屋的質(zhì)量對二手房的購買者有一定的吸引力。

5.2.2依據(jù)二手房的標(biāo)題信息進(jìn)行統(tǒng)計

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

從圖5-5中我們可以看出精裝修、花園、南北通透、滿五等字樣較為突

出,其中精裝修我們可以理解為精裝房,具體來說,精裝修相對于毛坯房,具

有以下優(yōu)點:首先,精裝修房子的裝修質(zhì)量相對較高,可以避免業(yè)主后期再做

裝修所遇到的問題;其次,精裝修房子的裝修風(fēng)格多樣,可以更好地滿足不同

業(yè)主的需求及裝修口味;最后,購買精裝修房子會使業(yè)主更加省心,無需在房

屋交付后再花費時間和精力進(jìn)行裝修,在深圳這個快速而又忙碌的城市中,人

18

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

們的精力有限,所以人們更加傾向于直接選擇可以直接入住的房子,所以在標(biāo)

題方面,而滿五則是如果一套二手房已經(jīng)滿五年,賣方也能夠免征20%的個人

所得稅,這會讓購房者更加會去選擇這類房。

而在花園、南北通透方面則是房子本身的一些特性,同時也是購房者需要

去考慮的地方,總之在二手房標(biāo)題這一方向上,可以看出方便、便宜、環(huán)境好

等特征吸引著購房者。

5.2.3依據(jù)二手房房價進(jìn)行條線圖統(tǒng)計和分析

圖5-6數(shù)據(jù)展示頁面

從圖5-6中可以得知安居客深圳城市二手房房價的房價的基本的集中區(qū)

域,最高的達(dá)到了8萬之上,其余都集中在6萬之下,而絕大多數(shù)在2萬之

下,從中我們可以發(fā)現(xiàn)相較于深圳一手房的房價,二手房還是給了人們更多的

選擇空間,讓更多的深圳當(dāng)?shù)剡M(jìn)行工作的人們可以買得起房子,但相較于其他

的二三線城市,其房價仍然頗高,讓許多人望而卻步,無法進(jìn)行房屋的購買。

在如今這個快速發(fā)展的時代,人們的生活質(zhì)量、工作工資在提升的同時,

其它房價、生活必需品等也在水漲船高,房貸車貸等各種貸款也逐漸成為越來

越多人身上的標(biāo)簽。

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論