安居客检测到网页抓取_安居客天津租房情况分析
生活随笔
收集整理的這篇文章主要介紹了
安居客检测到网页抓取_安居客天津租房情况分析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本篇文章通過對安居客官網天津市租房信息的進行抓取,然后對房價信息進行了簡單的描述性統計分析。
工具和技術:VBA知識、Power Bi
一、采集數據過程抓取思路:
安居客租房信息網址為簡單的靜態網頁,天津市河北區租房信息第二頁的網頁地址:
https://tj.zu.anjuke.com/fangyuan/hebei/p2/不同區只需要修改拼音參數即可,翻頁效果通過修改p后面的數字來達到。由于該網址的信息頁出來的數字全部被加密,所以單獨打開每個房源的詳情頁,來獲取每個房源的具體信息。
具體代碼:
Sub 安居客租房數據升級版()On Error Resume NextDim arr(), drr()brr = Array("hebei")'這里僅僅獲取河北區的租房信息,也可擴展填入其他區的拼音。Range("a1").Resize(1, 14) = Array("Community_name", "Price", "Layout", "area", "Direction", "Floor", " decoration ", "house_type", "House_code", "release_time", "rent_type", "rent_type2", "url", "district")Set XML = CreateObject("msxml2.xmlhttp")ActiveSheet.Range("a2:z10000").ClearFor m = 0 To UBound(brr)For Page = 1 To 1XML.Open "get", "https://tj.zu.anjuke.com/fangyuan/" & brr(m) & "/p" & Page & "/", False '打開網頁XML.send '發送請求Do While XML.ReadyState <> 4 '等待請求DoEventsLoopstrText = XML.responseText '獲取返回數據Set reg = CreateObject("vbscript.regexp")reg.Global = Truereg.IgnoreCase = Truereg.MultiLine = Truereg.Pattern = " href=""(https://tj.zu.anjuke.com/fangyuan/d{10}?isauction=2&shangquan_id=d+)" '單個房源地址For Each mat In reg.Execute(strText)k = k + 1ReDim Preserve arr(1 To k)arr(k) = mat.SubMatches(0)ReDim Preserve drr(1 To k)drr(k) = brr(m)NextNextNextReDim crr(1 To UBound(arr), 1 To 12) '定義存儲租房具體信息的數組For num = 1 To UBound(arr)XML.Open "get", arr(num), False '打開網頁XML.send '發送請求Do While XML.ReadyState <> 4 '等待請求DoEventsLoopreg.Pattern = "s+"result = reg.Replace(XML.responseText, "")crr(num, 1) = Split(Split(result, """propview"">")(1), "<")(0)crr(num, 2) = Split(Split(result, "price""><em>")(1), "<")(0)crr(num, 3) = Split(Split(result, "戶型:</span><spanclass=""info"">")(1), "<")(0)crr(num, 4) = Split(Split(result, "面積:</span><spanclass=""info"">")(1), "<")(0)crr(num, 5) = Split(Split(result, "朝向:</span><spanclass=""info"">")(1), "<")(0)crr(num, 6) = Split(Split(result, "樓層:</span><spanclass=""info"">")(1), "<")(0)crr(num, 7) = Split(Split(result, "裝修:</span><spanclass=""info"">")(1), "<")(0)crr(num, 8) = Split(Split(result, "類型:</span><spanclass=""info"">")(1), "<")(0)crr(num, 9) = "'" & Split(Split(result, "房屋編碼:")(1), ",")(0)crr(num, 10) = Split(Split(result, "發布時間:")(1), "<")(0)crr(num, 11) = Split(Split(result, "元/月</span><spanclass=""type"">")(1), "<")(0)crr(num, 12) = Split(Split(result, "<liclass=""title-label-itemrent"">")(1), "<")(0)NextActiveSheet.Range("a2").Resize(UBound(crr), 12) = crrActiveSheet.Range("m2").Resize(UBound(arr), 1) = Application.Transpose(arr)ActiveSheet.Range("n2").Resize(UBound(arr), 1) = Application.Transpose(drr)Columns.AutoFit End Sub市內六區+環城四區范圍內(不涉及原遠郊及濱海新區),總共抓取了約6000條數據(由于IP限制,每個區抓取的房源數量不是完全相等)
雙擊圖片可查看
二、清洗數據過程處理不規則數據(異常值):
①包括租房總價價格大于10000或者小于500的、租房平米數大于300的。
②刪除自我矛盾的不現實數據,比如:僅一室的合租房源。
③刪除三室一廳整租小于50平米的、一室一廳大于100平米的數據。
三、對數據進行描述性分析
利用Excel和Power BI可視化工具對租房數據進行簡單的可視化。
整體租房價格區間分布整體出租戶型比例合租整租比例及整租戶型比例一室整租價格分布兩室整租價格分布三室整租價格分布從上面可以清晰看到:
①位于天津市市中心也是區域面積最小的和平區租房均價遠遠高于其他區。
②環城四區中西青區的租房均價最高,津南區緊隨其后,西青區有大學城,海泰高新區白領學生較多,租房價格比較高。津南區由于海河教育園區還有一號線等因素,租房均價也比較高。
總結
以上是生活随笔為你收集整理的安居客检测到网页抓取_安居客天津租房情况分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何形成欧姆接触_Y5T307 半导体激
- 下一篇: vue怎么取消按回车下拉框自动下拉_八月