本文的文字及圖片來源于網路,僅供學習、交流使用,不具有任何商業用途,著作權歸原作者所有,如有問題請及時聯系我們以作處理
以下文章來源于木下學Python ,作者木下瞳
前言
小編可能準備去深圳,需要租房子,在網上先查了查,有很多租房軟體,安居客,貝殼等,也向身邊的人問了問,安居客聽到的次數多一些,于是選擇安居客去查看一些租房資訊,
在瀏覽程序中,雖然安居客有過濾標簽,按價格,區域,房型,型別這四個來過濾的,但感徑訓是不是理想中的資訊,而且特別多,看不過來,
所以小編決定使用 python 爬取上面的資料,并自己設定過濾條件,從很多房源中過濾出自己需要的房源,既提高效率,又能找到比較理想的,.
資料獲取
資料是爬取安居客的租房,過濾條件設定價格為 0-2500元/月,這是小編自己理想能接受的范圍,2000 以上偏高但可以先看看:
區域因為不太了解每個行政區的范圍,所以不知道每個區域的距離,只選擇某個區又太單一了,不能了解整體,所以區域選擇默認的全部標簽,
一頁有 60 條資料,有 50 頁,可以得到 3000 條資料,這些足夠了,多了也看不過來,
爬蟲的邏輯是不難,從第一頁一直到最后一頁,先爬取每一頁房源鏈接,從爬取房源鏈接中的詳細資訊,
主要爬取標題,房屋資訊,房屋有的設施,房源概況:
在程序中會遇到兩個問題,其一是字體亂碼,也就是字體反爬了,詳細資訊的數字都是加密過的:
核心代碼如下:
第二個問題就是會遇到驗證碼,可能是點擊字體的,可能是滑塊,很麻煩,所以這個小編是在程式中判斷是否出現驗證碼,
出現驗證碼程式會輸出提示,手動點擊驗證碼后,按回車繼續爬取,在爬取程序中小編只遇到過一次驗證碼,
其他的邏輯比較簡單,感興趣的參考原始碼即可,
資料過濾
獲得資料就可以自己設定過濾條件了,因為小編需要知道每條房源在哪里,先構造每條房源的區域:
對每個區域的房價分布心理有個底,所以以區域劃分,價格劃分為 (0,500],(500,1000],(1000,1500],(1500,2000],(2500.3000],一次來查看分布,先計算每個區每個分布,畫出柱狀圖:
圖用 pyecharts 畫的,區域選擇設定的單選,每次可以查看一個區域價格分布,
對價格有個底后,來設定過濾條件,首先小編考慮附近是否有地鐵,在資料中【標簽】【概況】可以說明,
房源設備也是小編考慮的有網,熱水,洗衣機,空調,衛生間,根據這些關鍵詞過濾,過濾了 1000 條左右:
標簽中如果有【號線】代表有地鐵幾號線,那概況中應該也會提到地鐵要不然讓人懷疑是騙人的,所以以這兩個進行過濾,2000 多條一下就過濾剩下 500 多條:
然后小編根據承受能力,選擇了 1500 以下的房源:
過濾后一下剩下 200 多條,還是有點多,現在是包含所有區域的:
最后小編根據自己的需求,查看了地圖過濾區域,只選擇了合適的區域,過濾后自由 84 條資料,并保存:
小編抽取了幾條資料,點開鏈接,大部分還是都能接受,為了點題,現在的我應該表示很傷心
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/192837.html
標籤:Python
上一篇:影像資料識別的模型
