版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
湖南商務職業(yè)技術學院畢業(yè)設計
目錄
1引言1
1.1項目背景1
1.2開發(fā)環(huán)境與工具2
1.2.1Python簡介2
1.2.2Jypyternotebook簡介3
1.2.3Python第三方庫簡介4
2需求分析4
2.1可行性需求分析4
2.2采集目標功能分析5
2.3關鍵技術分析6
2.3.1網絡爬蟲技術6
2.3.2文件存取技術7
2.3.3可視化技術7
3數(shù)據采集8
3.1采集頁面分析8
3.2字段分析10
3.3編程實現(xiàn)12
4數(shù)據清洗與處理15
4.1數(shù)據儲存15
4.2數(shù)據清洗與處理16
5數(shù)據統(tǒng)計與分析17
5.1數(shù)據準備17
5.2數(shù)據展示18
5.2.1依據樓盤名稱進行統(tǒng)計18
5.2.2依據房屋戶型進行統(tǒng)計19
5.2.3依據房屋朝向數(shù)量占比進行統(tǒng)計和分析20
I
湖南商務職業(yè)技術學院畢業(yè)設計
5.2.4依據房屋建造日期進行統(tǒng)計21
5.2.5依據房屋所在地區(qū)進行統(tǒng)計22
5.3本章小結23
6小結23
參考資料25
II
湖南商務職業(yè)技術學院畢業(yè)設計
安居客網站長沙市二手房數(shù)據采集與分析
1引言
隨著現(xiàn)代信息技術的不斷發(fā)展,我國已全面邁入大數(shù)據時代。這是我們青
年一代應該抓住的時機和機會。2004年Facebook的創(chuàng)立,社交網絡的流行直接
導致大量非結構化數(shù)據的涌現(xiàn),而傳統(tǒng)處理方法難以應對,帶動了大數(shù)據技術
的快速突破。后期隨著智能手機的應用日益廣泛,數(shù)據的碎片化、分布式、流
媒體特征更加明顯,讓大數(shù)據技術不斷向社會各行各業(yè)開始滲透。從目前發(fā)展
情況來看,大數(shù)據技術的發(fā)展,對社會發(fā)展過程中的諸多領域都產生了巨大的
推動作用。同時也為我們這些未來的工作者提供了海量的數(shù)據源,讓我們學到
更多的東西并學會如何去應用。
大數(shù)據作為新興的浪潮,越來越多的人想要學習這門技術、進入這個行業(yè),
融入其中并挖掘其潛能,數(shù)據科學和大數(shù)據技術也逐漸成為當前信息技術領
域的一個比較熱門的分支,大數(shù)據之路未來可期。
1.1項目背景
隨著中國經濟的發(fā)展,中國房地產行業(yè)逐漸從增量時代走向存量時代,住
宅供不應求局面已經得到扭轉,未來新增住房需求小幅下降。隨著人們消費觀
的改變,相對于新房,二手房的價格低成為一個優(yōu)勢,加上人們的收入水平不
斷的提高,有能力去購買更多的房子,以及換其他地方工作或長期辦事時,租
賃房屋是一個相對好的一個選擇。
無論是購買或租賃,對于后期居住者而言,房屋的戶型、朝向、面積大小、
地理位置都是需要作為購買參考的。那么,就需要在房產網站上去查看自己所
在地的二手房房源信息,根據自己的需求現(xiàn)在線上了解,后期再到線下去實際
感受。
房屋數(shù)據有很多,且分為不同類別,我們需要對網頁進行解析,然后通過
Python爬蟲的方法批量獲取我們想要的信息。
我的畢業(yè)設計就是針對現(xiàn)在消費者購房需求以及想要快速了解相關信息的
需要,然后爬取安居客房產網站長沙二手房房源的相關數(shù)據,對其進行處理、
分析,然后可視化,讓其更直觀的展現(xiàn)出二手房的共性和特性。繁雜的數(shù)據經
過清洗和分析之后,一目了然的將結構展現(xiàn)在購房需求者和消費者眼前,他們
就可以根據自己的需求來選擇更符合自己要求的房屋進行購買或者暫時的居
1
湖南商務職業(yè)技術學院畢業(yè)設計
住……所以我的畢業(yè)設計部分包含數(shù)據爬取、數(shù)據清洗處理、儲存和可視化。
1.2開發(fā)環(huán)境與工具
1.2.1Python簡介
Python語言是由荷蘭程序員GuidovanRossum,江湖人稱“龜叔”,獨立
開發(fā)完成初版的。Python一個公開發(fā)行版發(fā)行于1991年,所以這年被當作
Python的誕生年。Python源代碼遵循GPL(GNUGeneralPublicLicense)協(xié)議,
這是一個開源的協(xié)議,也就是說你可以免費使用和傳播它,而不用擔心版權的
問題。目前Python是由一個核心開發(fā)團隊在維護,龜叔屬于太上皇職位,仍然
占據著至關重要的作用,指導其進展。
因為早期計算機性能差,Python作為一門解釋型動態(tài)語言,在解釋方式上
天生就存在運行速度較慢的問題,但是程序執(zhí)行的速度和效率是很重要的,因
此不被當時編程界看好,其追求開發(fā)速度、強調簡潔優(yōu)雅、降低編程門檻的核
心理念有點超越了當時主流。而現(xiàn)今,計算機的硬件性能已經得到數(shù)量級的提
高,計算能力不再是限制編程語言的重要因素,敏捷的開發(fā)已成為生產環(huán)境下
對語言選擇的重要因素。
相對于java,Python沒有強大的“家庭背景”,出身寒門由龜叔個人編寫,
這也是導致在早期Python發(fā)展較慢的因素之一。在21世紀初Google在大量的
項目業(yè)務上大規(guī)模的開始應用Python,Python才開始走進大眾的視野,從而促
使Python的發(fā)展。
Python作為一種十分優(yōu)美的程序設計語言。它以其十分豐富的模塊和其他
語言難以描述的列表、字典等復雜數(shù)據類型在近年來得到了廣泛的應用。因為
具有開源、免費、功能強大、語法簡潔清晰、數(shù)據類型豐富、簡單、面向對象
等特點,在行業(yè)應用和學術研究中Python進行數(shù)據分析的勢頭越來越猛。而且,
Python有十分豐富的程序包,無論用戶想要干什么,基本都能找到一個程序包
來滿足自己的要求。
2
湖南商務職業(yè)技術學院畢業(yè)設計
圖1-22022年3月TIOBE全球編程語言熱度排行榜
從上圖的2022年3月TIOBE全球編程語言熱度排行榜中,我們可以看到
Python已經擠下C,java和C++,強勢擠入TOP1,當之無愧的解釋型語言領頭
羊?,F(xiàn)如今,人們用它開發(fā)簡單的小腳本用來做文件的自動化處理或者開發(fā)一些
小網站打發(fā)無聊時光。以及很多小孩子也開始接觸Python網絡編程的初學習,
這也更加突出Python的簡單易學、第三方庫足夠豐富、并且免費開源、支持跨
多平臺且可移植性比較強。
1.2.2Jypyternotebook簡介
Jupyternotebook(交互式筆記本)是基于控制臺的方法以一個定性的新方
向擴展到交互式計算,提供了一個基于web的應用程序,適用于捕獲整個計算
過程:開發(fā)、記錄和執(zhí)行代碼,以及傳達效果。其組成部分包含網頁應用和文
檔,網頁應用即基于網頁形式的、結合編寫說明文檔、數(shù)學公式、交互計算和
其他富媒體形式的工具,而文檔就是Jupyternotebook中所以交互計算、編寫
說明文檔、數(shù)學公式、圖片以及其他富媒體形式的輸入與輸出,以文檔來體現(xiàn),
其保存格式一般都是json格式的文件。
對于數(shù)據分析來說,jupyternotebook最大的優(yōu)點是可以重視整個分析過
程,并將說明文字、代碼、圖表、公式和結論都整合在一個文檔中,用戶可以
通過電子郵件、Dropbox、GitHub和JupyterNotebookViewer將分析結構分享
給其他人。
Jupyternotebook在大數(shù)據方面應用比較廣泛,特別適合用來做數(shù)據的清洗
和處理,在數(shù)據挖掘和可視化上的應用也是十分方便的。對于比較高層次的開發(fā)
3
湖南商務職業(yè)技術學院畢業(yè)設計
人員來說,這個工具也可以用來做深度的機器學習。
安裝Jupyternotebook的前提時需要安裝了Python(3.3版本及以上,或
2.7版本),以及對于初學者來說,只要當前系統(tǒng)中安裝Anaconda環(huán)境,則默
認就已經擁有了Jupyternotebook,因為Anaconda的版本中就是自帶Jupyter
notebook。如果覺得不需要Anaconda,可以自主選擇進入官網下載安裝包。
1.2.3Python第三方庫簡介
Pyecharts:是一種用于生成Echart圖表的類庫。
requests:網絡請求庫,提供多種網絡請求方法并可定義復雜的發(fā)送信息,
是Python實現(xiàn)的簡單易用的HTTP庫,對HTTP協(xié)議進行高度封裝,比urllib使
用起來要更加簡潔,支持非常豐富的鏈接訪問功能。
bs4:全稱為beautifulsoup4,塔提供了一些簡單的、Python式的函數(shù)用
來處理導航、搜索、修改分析樹的功能。
Csv:csv屬于python中的內置模塊,它能夠讀取csv格式的文件或者將數(shù)
據存入到csv表格中。
NumPy:numpy是Python科學計算的基礎工具包,對于大量維度數(shù)組與矩形
的運算都依賴于它,numpy庫的數(shù)據結構比Python自帶的庫更為高效。
pandas:pandas提供于進行結構化數(shù)據分析的二維的表格數(shù)據結構
DataFrame,能提供類似于數(shù)據庫中的切片、切塊、聚合和選擇子集等精細化操
作,還可以進行數(shù)據清洗。
matplotlib:是一個Python的2D繪圖庫,它以各種硬拷貝格式和跨平臺
的交互式環(huán)境生成質量及別的圖形。包括折線圖,餅圖,條形圖等。
Plotly:plotly是一個開源的、交互式的、基于瀏覽器的Python圖形庫。
wordcloud:生成中文詞云圖。
pylab:它能設置畫圖讓其能顯示中文。
2需求分析
2.1可行性需求分析
1、技術可行性
Python是面向對象語言中的一門通俗易懂的計算機編程語言,本次項目中
使用Python編寫程序來實現(xiàn)數(shù)據獲取,數(shù)據清洗預處理,數(shù)據可視化。在數(shù)據獲
4
湖南商務職業(yè)技術學院畢業(yè)設計
取的過程中因為頻繁的去爬取網站上的信息,觸發(fā)了網站的反爬機制,導致服
務器暫時封掉了我的IP地址的請求。隨后我便在我的爬蟲代碼中設置反爬措施,
填寫user-agent聲明自己的身份以及使用cookies模擬登陸,第二天我的IP
能訪問該網站后,在運行代碼獲得了網頁數(shù)據的返回值。隨后將爬取出來的原
始數(shù)據暫時以csv格式儲存起來,在后續(xù)的數(shù)據預處理和可視化中再進行調用。
以上為此次項目的技術可行性,我也將在后續(xù)的工作中將所有的步驟實現(xiàn)
到位,保證數(shù)據的準確性和安全性。
2、項目可行性
教育、住房、醫(yī)療一直是壓在老百姓身上的三座大山,也是我們中國社會主
義發(fā)展道路上的巨大難題。有關于三者的討論于新聞從未斷絕過,每一次發(fā)表關
于教育、住房、醫(yī)療等領域的話題時,其話題熱度往往能沖上熱搜榜首。
本次項目通過采集較為大型的房產網站并定位于現(xiàn)在的網紅城市長沙爬取
其二手房的房源數(shù)據,通過長沙這個人流量較大的城市的房源具體數(shù)據,來縱向
分析房源特征的特性和共性。我們也將從樓盤名稱、建房時間、房屋戶型等方
面對其進行深度剖析,分析出對消費者有價值的信息,將其可視化最后根據結果
得出結論。
3、法律可行性
爬取數(shù)據時嚴格遵守網站的Robot協(xié)議,爬取過程中不存在違法行為,所
以再其法律上是可行的。
2.2采集目標功能分析
本次項目的數(shù)據集的來源是安居客二手房源網站,是通過python爬取安居
客長沙二手房的所有房源信息。數(shù)據清洗后共4333條記錄,爬取完成后盡可能
的檢查數(shù)據的準確性,確定爬取出來的數(shù)據無誤并且是屬于房產網站上的房源
信息,以及對應的樓盤、地址等信息是真實存在的。
分析安居客房產網站網頁信息,明確我們需要爬取的房源參數(shù)有樓盤名稱、
面積、建造時間、房子的單價及總價、戶型、朝向、所在地區(qū)、具體的房屋地
址等數(shù)據,在對原始數(shù)據進行預處理后我們會對其數(shù)據進行多個維度的分析。例
如,從樓盤名稱的數(shù)量對其進行分析,查看長沙的二手房有多少是這個樓盤的,
如果對一個樓盤很看好,了解了這個樓盤現(xiàn)有多少二手房就有了多種選擇。又
或者想要住上比較新的房子,那么我們就可以根據房屋的建造時間來查看修建
時間遲一點的房源數(shù)有多少,從而在篩選出的房源中找的消費者所滿意的房子。
5
湖南商務職業(yè)技術學院畢業(yè)設計
2.3關鍵技術分析
2.3.1網絡爬蟲技術
隨著互聯(lián)網的快速發(fā)展,越來越多的信息被發(fā)布在了網上。這些信息都被
嵌入到各種各樣的網站結構中,雖然使用搜索引擎可以輔助人們找到這些信息,
但是這種方式是有局限性的,因為通用的搜索引擎的目標是盡可能的去覆蓋全
部網絡,導致它無法針對性的去進行索引。面對現(xiàn)今數(shù)據網絡結構的越來越復
雜,加上信息的含量越來越密集的數(shù)據,導致通用的搜索引擎是無法對其進行
有效的獲取和發(fā)現(xiàn),在這種環(huán)境和需求的影響下,網絡爬蟲的出現(xiàn)就為互聯(lián)網
數(shù)據的應用提供了新的方法。
網絡爬蟲也被人們叫做網絡蜘蛛、網絡機器人,是一個自動下載網頁的計
算機程序或者說是自動化腳本,通俗的講就是不需要人民自己動手操作,只要
編寫好程序和小腳本就可以自動瀏覽龐大的互聯(lián)網。網絡爬蟲按照系統(tǒng)結構和
實現(xiàn)技術大致分為四種集中類型,一是通用網絡爬蟲,就是盡可能大去覆蓋網
絡,像Google搜索引擎,二是聚焦網絡爬出,它是有目標、有選擇的去訪問URL
所指向的網頁來爬取信息,三是增量式網絡爬蟲,這種方式是當你只需要了解
已經更新的頁面信息,以免出現(xiàn)數(shù)據重復,四是深層網絡爬蟲,它需要通過提
交一些關鍵字才能獲取的web頁面,但是就嚴格意義來說,根據我們平時使用
的場景而言網絡爬蟲只有通用和聚焦怕重的區(qū)分。
因為網絡爬蟲的操作是在網頁上爬去所有自己想要的信息,這種操作就很
能讓人聯(lián)想到黑客,但是爬蟲和黑客是有本質上的區(qū)別的,爬蟲的本質跟正常
用戶在瀏覽器訪問網站沒有太大的區(qū)別,只不過是通過程序的方式直接訪問特
定的鏈接,不需要請求跟目標數(shù)據無關的請求,所以速度就要比正常在瀏覽器
上訪問要快得多,并且爬蟲可以批量的訪問特定的數(shù)據而瀏覽器是做不到的,
對于一些要登錄或者需要某些權限才能訪問的網站,爬蟲也是需要賬號或者某
些權限的支持才抓取到相關數(shù)據,這些數(shù)據還是網站上可以看到的,而黑客技
術卻能拿到網站上看不到的數(shù)據,它也不像爬蟲這樣的紳士,黑客可以通過黑
客技術暴力或者強制性的措施,不需要登錄和某些權限,就能直接拿到網絡數(shù)
據。爬蟲和黑客也有類似的地方,比如爬蟲也可以作為一種攻擊手段,使用高
頻率的請求對服務器進行攻擊,對服務器造成一定的壓力,服務器響應不過來
就會宕機,這種攻擊手段就是DDOS攻擊。爬蟲技術就好比是一把雙刃劍,它們
善惡不同,各懷心思,越是每個人切身利益所在的地方,就越是爬滿了爬蟲。
6
湖南商務職業(yè)技術學院畢業(yè)設計
對爬蟲技術應用不當?shù)钠髽I(yè),則可能觸及相關法律法規(guī),獲得警察叔叔的“銀
手鐲”一副。
難道一個網站會讓人們隨意的去爬取他們的網站數(shù)據信息嗎?當時是NO!
有攻擊就會用防守,對于因為人的興趣愛好或者因為學業(yè)需要在網站上爬取需
要的數(shù)據進行分析、圖片、視頻等行為,各網站的開發(fā)人員也會作出行動去約
束人們的行為,反爬機制就出現(xiàn)了。目前常見而好用的反爬技術有headers反
爬、IP、JS加密、驗證碼、cookie等手段,在我的畢業(yè)設計中,我也是使用了
headers和cookie手段進行反爬,也讓我獲得數(shù)據的阻力減小。
2.3.2文件存取技術
Python內置csv模塊如圖2-1顯示:
圖2-1python內置csv模塊
2.3.3可視化技術
爬取下來的數(shù)據通過數(shù)據預處理、保存為csv文件格式。通過打開csv文
件,我們可以看到爬取得全部數(shù)據,那是復雜且繁多的,為了給人們更好的、
更直觀的展現(xiàn)出全部數(shù)據所內涵的全部意思,我們就需要一種技術,將它進行
一個轉化。
以我們采集到的海量數(shù)據為基礎,將其以統(tǒng)計圖表的形式呈現(xiàn)在我們面前,
這樣我們才能更清楚的看到他的效果,這就是可視化技術。
很明顯,我們得到的這些資料就是一長串的文字或字符串,每一條信息我
們都能看懂,但是如果是數(shù)以萬計的數(shù)據,我們就很難再這么短得時間內分辨
出其中的蛛絲馬跡,所以我們必須要做更多的研究。在處理完這堆無聊而又榮
昌的數(shù)據集之后,我們要引入所需的第三方庫來對這些數(shù)據進行理性的分析,
確定采用何種圖形來最好最直觀的表示出這些數(shù)據集的信息。
可視化技術經過多年的發(fā)展,已經逐步演變成了三大類別:科學可視化、
信息可視化、可視分析學。而在此,我們所使用的就是信息可視化,信息可視
化處理的對象是抽象的數(shù)據集合,起源于統(tǒng)計圖形學,又與信息圖形、視覺設
計等現(xiàn)代技術相關。其表現(xiàn)形式通常在二維空間,因此關鍵問題是在有限的展
7
湖南商務職業(yè)技術學院畢業(yè)設計
現(xiàn)空間中以直觀的方式傳達大量的抽象信息。他的主要難題是,面對大規(guī)模的
高維復雜數(shù)據,該方法的關鍵問題是怎樣降低視覺混淆對信息的影響。
本項目中,僅僅就是將所獲得的數(shù)據,用很簡單的可視化方法來完成數(shù)據
的可視化。具體來說,就是使用Python第三方庫Pyecharts和matpoltlab去
進行可視化,導入pyecharts庫,可以制作出我所用到的詞云圖和地圖,而
matplotlab中也包含了許多庫,對應著餅圖、條形圖、直方圖、折線圖等圖形,
能夠很好地將這些數(shù)據高效的展現(xiàn)出來,當可視化圖表被展現(xiàn)出來后,對于其
結論也就變得清晰明了。
3數(shù)據采集
3.1采集頁面分析
我們首先通過谷歌瀏覽器搜索安居客的官方網頁,然后定位到長沙找到二
手房目錄集頁面觀察圖2-3,其中URL為:
/sale/?from=HomePage_TopBar然后點擊頁面下方的分
頁按鈕,同時觀察URL,發(fā)現(xiàn)URL發(fā)生了一定的變化,URL為:
/sale/p2/?from=HomePage_TopBar,所以導入的的url
改為:/sale/p{}/?from=HomePage_TopBar。
8
湖南商務職業(yè)技術學院畢業(yè)設計
圖3-1數(shù)據網址頁面
右擊鼠標在彈出窗口中點擊檢查,調出開發(fā)者工具,刷新頁面,如圖3-2。
9
湖南商務職業(yè)技術學院畢業(yè)設計
圖3-2開發(fā)者工具
利用全局搜索工具定位所需數(shù)據位置,點擊開發(fā)者工具上面的Headers字
段,分析這是個什么請求,發(fā)現(xiàn)這個是一個GET請求。如圖3-3。
圖3-3headers
3.2字段分析
首先通過瀏覽網頁進行分析,右擊鼠標檢查,可以打開網頁的開發(fā)者工具
頁面,刷新一下頁面再進入,點擊開發(fā)者工具界面上方的數(shù)據預覽Preview按
鈕,得到該網頁的字段。可以看到整個網頁的HTML程序代碼,能夠找到房源的
10
湖南商務職業(yè)技術學院畢業(yè)設計
標題信息(title)、房源名稱(name)、房屋地址(address)等字段(如圖3-4),
相對于旁邊的頁面展示,可以找到相應數(shù)據條對應。然后找到網頁的一個房源,
爬取需要的字段,通過鼠標找到開發(fā)者頁面的網頁源代碼,找到對應字段的地
址(如圖3-5),用Xpath對其數(shù)據進行提取,并依次循環(huán)遍歷,找到多頁的信
息數(shù)據,將數(shù)據一一對應爬取下來。
圖3-4分析數(shù)據類型頁面
11
湖南商務職業(yè)技術學院畢業(yè)設計
圖3-5分析數(shù)據類型頁面
3.3編程實現(xiàn)
導入所需庫
圖3-6導入所需庫頁面
設置請求頭,偽裝成瀏覽器訪問服務器。
12
湖南商務職業(yè)技術學院畢業(yè)設計
圖3-7請求頭內容頁面
代碼實現(xiàn)如下:
fromlxmlimportetree
importurllib3
importcsv
url='/sale/p{}/?from=HomePage_TopBar'
headers={'user-agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,
likeGecko)Chrome/Safari/537.36',
'cookie':"aQQ_ajkguid=B3A7F390-7FAE-8FC8-9CF2-24B988C065DB;
ajk-appVersion=;id58=CrIcnGOee4lPP9/oMsjcAg==;isp=true;58tj_uuid=7473c3de-9602-49e1-af1d-1e
69fc94946e;als=0;wmda_uuid=5a26a82482c63e0caca5accfe0b49681;wmda_new_uuid=1;
wmda_visited_projects=;6289197098934;new_uv=3;ctid=27;sessid=855F0139-DD46-B548-5DC8-93E
6F52001A8;twe=2;seo_source_type=1;fzq_h=3c08a463c2be838f26706dd37bfd3e95_1677163979167_
769cfb858bfe41ffa4501759434c5755_2936798102;fzq_js_anjuke_ershoufang_pc=e2fc63d5df2cd77854
74f6edf697c649_1677163986464_24;obtain_by=1;xxzl_cid=0bf9a8412f7e4c04a602f46ab58c0e09;xxzl
_deviceid=nkf3fFKqXzbx3dfxDAJo536sPOUILqffMzaochMVb3jt0XAmbiv7U/hXcTKIwMQe",
'referer':'/sale/p2/?from=HomePage_TopBar'
}
#設置表抬頭
header=('標題','總價','單價','房屋戶型','房屋面積','房屋朝向','建造時間','樓盤名稱','所在地區(qū)','
房子地址')
withopen('anjuke.csv',mode='a',encoding='utf-8',newline='')asf:
csv_writer=csv.writer(f)
csv_writer.writerow(header)
foriinrange(1,50):
url1=url.format(i)
http=urllib3.PoolManager()
13
湖南商務職業(yè)技術學院畢業(yè)設計
res=http.request('GET',url1,headers=headers)
#print(res.status)
html=etree.HTML(res.data,parser=etree.HTMLParser(encoding='utf-8'))
a=html.xpath('//*[@class="list-left"]/section[2]/div')
#print(a)
forjina:
#獲取樓盤標題
title=j.xpath('normalize-space(.//*[@class="property-content-title"]/h3/text())')
#print(title)
#獲取房子總價和每平方價格
zongjia=j.xpath('.//*[@class="property-price"]//span/text()')
house_prices='|'.join(zongjia)
avg_prices=j.xpath('normalize-space(.//*[@class="property-price"]/p[2]/text())')
#print(zongjia+""+avg_prices)
#獲取房子戶型
type=j.xpath('.//*[@class="property-content-info"]/p/span/text()')
house_type='-'.join(type)
#print(type)
#獲取房子面積
house_area=j.xpath('normalize-space(.//*[@class="property-content-info"]/p[2]/text())')
#print(house_area)
#房屋朝向
house_face=j.xpath('normalize-space(.//*[@class="property-content-info"]/p[3]/text())')
#print(house_face)
#獲取房子建造時間
build_time=j.xpath('normalize-space(.//*[@class="property-content-info"]/p[5]/text())')
#print(build_time)
#獲取樓盤名
house_name=j.xpath('normalize-space(.//*[@class="property-content-infoproperty-'
'content-info-comm"]/p/text())')
#print(house_name)
#獲取樓盤所在區(qū)域
district=j.xpath('normalize-space(.//*[@class="property-content-info-comm-address"]/span[1]
/text())')
#print(district)
#獲取房子地址
house_address=j.xpath('.//*[@class="property-content-info-comm-address"]/span/text()')
house_address='-'.join(house_address)
ifhouse_address[:3]=='長沙縣':
house_address2=house_address[4:]
else:
house_address2=house_address[3:]
14
湖南商務職業(yè)技術學院畢業(yè)設計
#print(house_address2)
#輸出數(shù)據
#print(title,house_prices,avg_prices,house_type,house_area,house_face,build_time,house_na
me,district,house_address2)
#存儲數(shù)據為csv
withopen('anjuke.csv',mode='a',encoding='utf-8',newline='')asf:
csv_writer=csv.writer(f)
csv_writer.Writerow([title,house_prices,avg_prices,house_type,house_area,house_face,
build_time,house_name,district,house_address2])
4數(shù)據清洗與處理
當我們得到龐大的數(shù)據集后,我們首先要對數(shù)據進行預處理,也就是所謂
的數(shù)據清洗,來確定爬取來的數(shù)據是否有無效值和缺失值,去冗余,這樣對于
我們后期根據這些數(shù)據得來的圖表所展現(xiàn)的信息會更加的明確與準確。以及,
我們需要將數(shù)據進行有理化和有序化,這樣才會更方便與開發(fā)人員對數(shù)據的使
用。
本次項目中,我將需要爬取得數(shù)據和網頁源數(shù)據進行了對比,檢查了數(shù)據
中是否出現(xiàn)了空值,以及數(shù)據的位置是否是正確的。當然我們可以根據自身的
需要、或者是廣義化來根據大眾對于房源信息的需求來對數(shù)據進行不同的處理。
4.1數(shù)據儲存
在Python的數(shù)據儲存中,其方法有很多種,比如:MySQL數(shù)據庫,Redis
數(shù)據庫,Mongdb數(shù)據庫。也可以使用Python的第三方庫進行儲存,像json,csv
等形式進行儲存。我選擇了自己比較擅長的方法,以及個人認為得到的數(shù)據更
為直觀,為后續(xù)可以直接在系統(tǒng)磁盤進行查看瀏覽保存的相關數(shù)據的文件,我
將我爬取到的數(shù)據使用PythonCharm中的庫csv文件格式進行儲存,并對其數(shù)據
設置頭標題,更加直觀易懂,可使用戶可以通過編程輕松地工作。
如圖4-1所示:
圖4-1數(shù)據儲存展示代碼
輸入好相關數(shù)據代碼之后,對其進行運行操作,得到一個“anjuke”命名的
csv文件,可以在磁盤中清晰的展示出相關的數(shù)據。如圖4-2:
15
湖南商務職業(yè)技術學院畢業(yè)設計
圖4-2存儲生成的csv文件
4.2數(shù)據清洗與處理
在Jupyternotebook導入所需的庫,然后讀取數(shù)據,使用pandas的數(shù)據處
理函數(shù)查詢數(shù)據是否完整,此處我只查詢了csv文件的前10行。
圖4-1數(shù)據清洗準備頁面
然后使用numpy庫使用isnull()和sum()函數(shù)查看統(tǒng)計是否存在缺失值,
經過對比發(fā)現(xiàn)建造時間存在62個缺失值,隨后進行了控制的填充,以防后期的
可視化技術過程受阻。如圖4-2
16
湖南商務職業(yè)技術學院畢業(yè)設計
圖4-2查找缺失值并填充空值
5數(shù)據統(tǒng)計與分析
5.1數(shù)據準備
導入相關庫,使用pandas加載源數(shù)據,如圖5-1、5-2。
圖5-1數(shù)據準備頁面
17
湖南商務職業(yè)技術學院畢業(yè)設計
圖5-2數(shù)據加載頁面
5.2數(shù)據展示
5.2.1依據樓盤名稱進行統(tǒng)計
圖5-3數(shù)據展示頁面
將在表格中樓盤名稱的字段數(shù)據進行匯總和處理然后將其統(tǒng)計出現(xiàn)的頻率,
18
湖南商務職業(yè)技術學院畢業(yè)設計
最后生成特定序列,通過特定序列里面的數(shù)據再按照詞頻生成詞云圖,如圖5-4
中可以看出保利麓谷林語出現(xiàn)的頻率最高,其次就是梅溪鑫苑名家。在安居客長
沙二手房的網站上出現(xiàn)多次也足以說明他們兩家的在售二手房是比較多的,消
費者就可以去根據兩個樓盤的所在地擇優(yōu)選擇,如果對這兩個兩個樓盤都感興
趣,那房子的選擇也是很多的,可以根據實際情況,找到自己滿意的房子。
以及這兩個樓盤都位于岳麓區(qū),那么需要長居在長沙岳麓區(qū)的消費者們這
不為是一個很好的選擇,可以根據具體地址附近環(huán)境看看是否交通便利和公共
設施是否齊全,能否提高后期生活質量。以及我發(fā)現(xiàn)當?shù)氐姆课荽蠖嗍悄媳背?/p>
向,使得房子室內采光更好,通風性好,室內可長久保持干燥,提高舒適度。
房子建造時間2010年到2018年的都有,如果在價錢上覺得距現(xiàn)在時間太近的
房子偏貴,那么選擇的價位也是很多的。
5.2.2依據房屋戶型進行統(tǒng)計
圖5-4數(shù)據展示頁面
由5-4圖可以看出長沙大部分二手房的戶型都是3室2廳2衛(wèi),這種戶型
不僅是二手房的主力戶型,其實也是新房的主力戶型,符合大部分購房者的需
求。其次3室2廳2衛(wèi)的房子也不少,購房者可以根據家庭情況或自身情況選
擇合適的戶型。比如是一個人住還是一家人住,當做單身公寓的話也要根據那
個人的性格和喜好,他是喜歡寬敞式的還是小而精致的,以及個人的一個財政
情況確定了他去購買那種戶型的房子;如果是一家人居住,那么家庭人口的多
少也是人們考慮選擇那種戶型的因素之一,以及是否個人是否需要書房和衣帽
間,這些都人們選擇戶型需要考慮的。
房子戶型同時影響著后期的裝修。在裝修自己的房屋時,大多數(shù)多都會找
裝修公司來做設計裝修,那這時就會對你的戶型進行方案的設計,包括分析你
19
湖南商務職業(yè)技術學院畢業(yè)設計
的戶型,有幾口人住,生活習慣是怎樣的,喜歡什么樣的風格等,了解之后才
好做設計。一般方案設計就是看你的戶型有哪些地方需要改造的。比如廚房擴
寬,怎樣改使其能更好用,臥室如何加寬才合理,或哪塊區(qū)域需要砌墻做隔斷
等等,這些也是要自己的配合和喜歡才能更好的完成。
5.2.3依據房屋朝向數(shù)量占比進行統(tǒng)計和分析
圖5-5數(shù)據展示頁面
從圖5-5中南北朝向的二手房接近7成,加上東南和西南朝向,接近了9
成,表現(xiàn)了朝南的戶型受人追捧,這是為什么呢?
自古以來坐北朝南是多數(shù)家庭房屋的首選方位。因為朝南保持充足了充足
的陽光,冬天也能享受到陽關的照射,既明亮又溫暖,其次南向可以保持良好
的通風,像春季容易爆發(fā)流行性感冒,室內通風是很重要的,保持屋內的清新
和干燥。但是在選擇南北戶型時,要注意房屋的進深不能過大,進深過大,整
20
湖南商務職業(yè)技術學院畢業(yè)設計
個戶型結構都會呈狹長型,處于中間的廳室采光就會比較弱,也就不能確保每
個房間采光的均衡。
西朝向的房子陽光主要在下午,尤其以夏季的陽關最強烈,存在西曬的問
題,從表中可以很出西朝向的房子是比較少的,但是衛(wèi)生間朝西就是不錯的,
因為衛(wèi)生間比較潮濕,而朝西陽關強烈,衛(wèi)生間就會干燥,不利滋生細菌。缺
點就是刮東南鳳,西向通風會受影響,還有在南方這種多雨的地方,雨季刮東
南方,西向容易滲水。
東朝向的房子相對于西朝向的房子是較為多的,東朝向房子的陽光主要是
在上午,房屋早上的采光好,喜歡早起在家運動的朋友可以考慮,但是如果臥
室朝東,喜歡睡懶覺的朋友就需要朝向安裝防光窗簾了。
大多數(shù)購房者不愿選擇北朝向,所以一般朝北的房子在價位上比南向價格
要低,如果需要足夠大的房屋但是預算不夠的購房者和租房者可以考慮,但是
因為朝北的房屋陽光不足,而陽關不足可能造成房子潮濕,對已身體健康長期
來說肯定是有一定的影響,現(xiàn)在去濕去潮的電器也是有的,但是也是需要消費
的,所以在購買北朝向的房子需要三思。
5.2.4依據房屋建造日期進行統(tǒng)計
圖5-6數(shù)據展示頁面
由圖5-6可以看出長沙二手房大多建造在17年內,但也有一些建造于上世
紀90年代。通過房屋的修建年份,我們可以大致知道房子內部結構、面積是怎
樣的。
90年代的房屋,房子的戶型都是比較新的,一般都是兩居室大概70-80平
方米,適合做為單身公寓,也可以做一個兩人合租的小家,客廳的面積多在14-15
平方米,日常衛(wèi)生清潔的任務也是比較小的,周邊環(huán)境與配套設施上也較相對
21
湖南商務職業(yè)技術學院畢業(yè)設計
齊全,有一定的物業(yè)管理費。如果前任業(yè)主對自己的房子保護的較好的情況下,
以及入住的人口只有1-2人,那么購置這樣一間小居室也是一個不錯的選擇。
在2000年之后建成的住宅中,就出現(xiàn)了100-130多平方米的大戶型,并且
有兩室兩衛(wèi)等新潮戶型出現(xiàn)。三居、四居、躍層、復式等各種各樣的房屋戶型
較上世紀90年代的房屋相比又有了進一步的改進。近幾年新建的房屋除了社區(qū)
氛圍和周邊配套相對完善之外,還在人性化的服務上也有提高和改善,如會預
留出電話接口、寬帶接口、有線電視接口等,也給人們的日常生活提供了便利。
5.2.5依據房屋所在地區(qū)進行統(tǒng)計
圖5-7數(shù)據展示頁面
根據圖5-7我們可以看出長沙二手房主要集中的區(qū)域是岳麓區(qū),該區(qū)工業(yè)
園區(qū)分布較少,以居住屬性為主,北依岳麓山,東臨湘江,環(huán)抱7000畝洋湖濕
地公園,容積率比容積率比較低,商業(yè)、學校配套成熟,樓盤多以高品質改善
為主。2007年長沙市成立大河西先導區(qū)并開始大規(guī)模開發(fā)建設,2015年升級為
國家級新區(qū)湘江新區(qū),包括了岳麓區(qū)全境,望城及寧鄉(xiāng)部分區(qū)域,有七大重點
片區(qū),其中梅溪湖片區(qū)、洋湖片區(qū)、岳麓山大學城等這些屬于岳麓區(qū)的片區(qū)都
在其中,以梅溪湖片區(qū)為例,其良好的自然環(huán)境,優(yōu)質的教育資源,以及交通、
產業(yè)、商業(yè)、文化等配套定位高,都成為了人們首先考慮岳麓區(qū)二手房的因素,
根據其未來發(fā)展趨勢,房價的增長也是不可避免的,購買者如果需要上期居住
在長沙,購買岳麓區(qū)的房屋不為是一個好的選擇。
22
湖南商務職業(yè)技術學院畢業(yè)設計
根據圖表顯示二手房較多的其次是雨花區(qū)和芙蓉區(qū)那一塊地方。而我們說
道老城區(qū)就會想到曙光中路周邊及開福寺周邊,基本都是一些老小區(qū),并且都
以長沙本地市民居多,居住氛圍很好,不管是教育、交通還是購物方面其周邊
的配套都比較成熟,非常適合居住。這種區(qū)域內的房子一般二手房是首選,用
來自住和轉手出租都是不錯的選擇。
5.3本章小結
綜上,長沙二手房分布最多的地方
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國世界租賃行業(yè)市場全景評估及發(fā)展前景預測報告
- 2025年中國香菇多糖注射液市場運行態(tài)勢及行業(yè)發(fā)展前景預測報告
- 簡易示波器課程設計報告
- 2025年中國pcb切割機行業(yè)市場發(fā)展監(jiān)測及投資戰(zhàn)略咨詢報告
- 2024-2030年中國郵件信息處理軟件行業(yè)市場發(fā)展監(jiān)測及投資方向研究報告
- 【可行性報告】2025年鋼絲網項目可行性研究分析報告
- 2025年壓制薄板項目可行性研究報告
- 2025年中國滑輪衣行業(yè)發(fā)展趨勢及投資前景預測報告
- 2024-2027年中國物聯(lián)網蜂窩通信模塊市場規(guī)模現(xiàn)狀及投資規(guī)劃建議報告
- 2025年中國家居服行業(yè)市場發(fā)展現(xiàn)狀及投資方向研究報告
- 第二章 運營管理戰(zhàn)略
- 《三本白皮書》全文內容及應知應會知識點
- 專題14 思想方法專題:線段與角計算中的思想方法壓軸題四種模型全攻略(解析版)
- 醫(yī)院外來器械及植入物管理制度(4篇)
- 圖像識別領域自適應技術-洞察分析
- 港口與港口工程概論
- 《念珠菌感染的治療》課件
- 門店裝修設計手冊
- 新概念英語第二冊考評試卷含答案(第49-56課)
- 商業(yè)倫理與企業(yè)社會責任(山東財經大學)智慧樹知到期末考試答案章節(jié)答案2024年山東財經大學
- 【奧運會獎牌榜預測建模實證探析12000字(論文)】
評論
0/150
提交評論