張祿成,陶冶,崔文華
[中圖分類號] TP393.09
[文獻標志碼]A
[文章編號]2095-6487 (2021) 02-0157-02
Python-based Data Crawling and Analysis of Second-hand Housing in Anshan City
Zhang Lu-cheng,
TaoYe,
CuiWen-hua
[ Abstract] Witri the rapid development of the Intemet, we have entered the era of big data. In the current era of big data, how to obtain usefulinformation has become a major problem. The article takes second-hand houses in Anshan City as an example, and uses Python to analyze and visualize thesecond-hand houses in 58 same city to show the information of second-hand houses in Anshan C.ity. Through the analysis of these second-hand houses, wehave also obtained some price analysis charts about the price information of second-hand houses in Anshan City
[ Keywords] Py~hon; data visualization; crawler
互聯網的快速發(fā)展,使人類社會的信息越來越多。經濟的快速發(fā)展導致年輕人在剛畢業(yè)時無法購買到價格適宜且環(huán)境舒適的房屋,租房成了熱門選擇。目前學者對住房價格差異研究方法有兩類:一類是創(chuàng)立特征價格模型,即對房子的各個因素進行量化考量并權重加分計算。第二類是使用GIS技術和地統(tǒng)計學,對住房價格進行一些地理規(guī)律的考量?!?】綜合以上兩種方法,分區(qū)分塊、分戶型和而積的研究房屋價格的影響因素。
Python是當今大熱一門編程語言,其擁有良好的生態(tài),尤其是在數據處理和數據分析方而具有高效快捷的優(yōu)點。而對復雜的二手房數據信息,Python可以快速對這些數據進行爬取與清洗。
首先要進行房源基本信息的爬取以獲得當前最新的數據,本文針對58同城(https://as.58.com/ershoufang/pn)上的二手房進行數據爬取。網絡爬蟲,Python有屬于自己的庫以供使用者爬取信息。該爬蟲是以對58二手房信息網站進行數據爬取保存在本地文件夾中。本次數據分析爬蟲總爬取的有效數據統(tǒng)計2300個,以下數據和圖表電均為該數據所獲得的結論。
對于二手房數據的爬取,選用Requests庫和Lxml下的Etree庫對所要爬取數據的網站發(fā)送請求加上xpath插件對網頁進行解析,最后把我們所需要的數據爬取出來放在本地的csv或者txt格式文件中。爬蟲部分的編寫選用Pycharm環(huán)境編譯。簡單來說這個爬蟲的工作原理就是先通道第三方庫Requests傳入URL參數(可簡單理解為網頁鏈接),對該網站的維護服務器發(fā)送請求,在得到服務器的請求之后便可以獲取網頁的信息,通過xpath插件對網頁進行解析再獲取更精確的信息。原理如下圖1所示。
數據清洗是為了數據分析的規(guī)范化操作為了避免所爬取獲得的數據部分具有重復、遺漏、錯誤的數據或者符號多余等。通常在數據清洗這一塊,我們使用第三方庫pandas去實現,所使用的編譯環(huán)境為Anaconda。
首先需要把文件導入Anaconda的Jupyter Notebook中。使用Duplicated()等方法來判斷是否有重復值和刪除重復值。之后再使用Dropna()方法來刪除文件中的缺少值數據記錄。如果缺失情況嚴重應檢查爬蟲程序是否出現錯誤或者導入Jupyter Notebook格式是否錯誤,否則就會影響最終數據分析的結果正確性[2]。最后應檢查數據是否符合規(guī)范。數據清洗的基本流程如圖2所示。數據處理完畢后應該注意數據的格式是否一致。處理后的數據如圖3所示。
數據可視化技術將數據轉化成圖形圖表,為決策提供依據[3]。在數據清洗完成之后需要再檢查數據的正確性和是否育異常值的存在,如果存在異常值需要進行數據更改或者直接刪除數據,在保證數據的正確性之后便可以開始數據的可視化分析。在進行了必要的異常值處理之后,數據并沒有明顯的異常值,所以可以繼續(xù)后續(xù)的操作。
在拋去所有異常值、缺失值以及重復值之后,剩余的數據量為1364條數據,針對這1364條數據將進行如下的可視化操作。其中將所有信息,總按區(qū)分類如圖4所示。
如圖4所示,在58二手房網站上爬取的鞍山市二手房收據共有7個分區(qū),其中可能因為58網站上的數據不太齊全,導致部分區(qū)域數據過于少,上圖中包含各分區(qū)在58二手房網站上在售的區(qū)塊總面積、總金額、每平米的甲均租金和數量有了概括的描述。在上圖中用戶可以輕松地獲取所售房源概括。
圖5為鞍山市二手房的戶型結構,圖5統(tǒng)計出了目前在58二手房網站上正在出售的二手房戶型,其中為了使數據看起來更加整潔可靠,將上而的戶型篩選了一遍,減去了戶型數量小于10戶的戶型即個別的特殊類型。一是為了數據的整潔性,二是為了向用戶提供更加真實且大眾的數據信息來源。
圖6為鞍山市二手房在各分區(qū)的房源及各區(qū)塊的二手房每下米價格分布情況,其中折線為該區(qū)塊的平均房價,柱狀圖為該區(qū)塊的在售的二手房總量。由此圖可大概推斷一個城市的繁榮情況,房源數據多的說明聚集人口多,往往說明該區(qū)域為城市的重點經濟地區(qū),經濟活動繁盛。房源數據較少的區(qū)塊可能為該城市的新城區(qū),未經歷完開發(fā),具有良好的市場潛力,如果加以政策扶持就可能成為城市的經濟中心。
圖7為鞍山市二手房的而積分析圖,該圖為一個餅狀圖??梢允褂脩羟逦乜吹侥壳霸谧夥烤W站在售的二手房的而積的房源最多且也可了解目前受歡迎的面積為多人,一般來說有市場的二乎房而積一定為所在最多比例的而積,這也可側面也顯示出鞍山市的一些經濟狀況。通常經濟越發(fā)達的地區(qū)的房價就會越高,就導致租房也得考慮到經濟實惠的方而往往不會去租較大的房屋。
人數據時代的來臨,數據分析逐步成為重要工具之一。在這個信息龐大的時代更加精確且快速地獲取有用的數據就必不可少一些數據分析工具。Python語言因其簡單性、簡潔性將會成為新時代的重要語言之一?;赑ython的爬蟲來獲取網絡的信息,并且將以可視化圖表的方式反饋給用戶,把爬取的信息進行清洗、過濾,從中分析和挖掘有用的信息,充分利用人數據的優(yōu)勢。
參考文獻
[1]王新剛.城市住房價格時空模型分析[D]開封:河南大學,2015
[2]趙綠草,饒佳冬基于python的二手房數據爬取及分析[J]電腦知識與技術,2019 (7):1-3.
[3]曾悠·大數據時代背景下的數據可視化概念研究[D].杭州:浙江大學,2014