溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么用Python采集北京二手房數(shù)據(jù)

發(fā)布時間:2021-11-22 11:33:03 來源:億速云 閱讀:147 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要介紹“怎么用Python采集北京二手房數(shù)據(jù)”,在日常操作中,相信很多人在怎么用Python采集北京二手房數(shù)據(jù)問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用Python采集北京二手房數(shù)據(jù)”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習吧!

1、工具說明

本文用到的 Python 庫有

怎么用Python采集北京二手房數(shù)據(jù)

外加百度地圖 API

2、數(shù)據(jù)采集

所有數(shù)據(jù)來源于鏈家二手房交易平臺,上面每頁排列 30 條二手房數(shù)據(jù),本文采集了前 100 頁 數(shù)據(jù),每條二手房交易數(shù)據(jù)中提取 標題、單價、價格、地址、年份、房間樣式 等字段作為可視化分析的數(shù)據(jù)來源

網(wǎng)站沒有設(shè)置很強的反爬機制, 爬取時用的是 requests + Cookies+ PyQuery 組合即可,最好在爬取時加條 time.sleep() 命令,隔幾秒休眠一次,部分代碼如下:

怎么用Python采集北京二手房數(shù)據(jù)

最終一共采集到 3000 條數(shù)據(jù)

3、地址經(jīng)緯度坐標轉(zhuǎn)換

獲取到的數(shù)據(jù)是地址是字符串形式(例如梵谷水郡*酒仙橋),后面地圖位置標記時需要經(jīng)緯度數(shù)據(jù),需要把所有地址轉(zhuǎn)化為經(jīng)緯度坐標,這里借助了百度地圖 API 完成這步操作

1、百度地圖 AK 申請

API 的使用需要在百度地圖開放平臺申請一個 AK 效驗碼,登錄自己的百度賬號,在控制臺創(chuàng)建一個應(yīng)用,

控制臺面板-> 我的應(yīng)用-> 創(chuàng)建應(yīng)用

怎么用Python采集北京二手房數(shù)據(jù)

其他參數(shù)默認,應(yīng)用名稱自定義命名即可,IP 白名單填入 0.0.0.0/0,點擊提交

以上步驟操作完之后,控制臺面板會多出一個應(yīng)用,就是剛剛我們建立的,

怎么用Python采集北京二手房數(shù)據(jù)

2、地址經(jīng)緯度坐標轉(zhuǎn)換

獲取到你的 AK 參數(shù)之后,把 AK 和 address(中文地址) 作為參數(shù)傳入下面函數(shù)中,就能獲取到對應(yīng)的經(jīng)緯度坐標

def get_location(address,AK):    #根據(jù)地址轉(zhuǎn)化為經(jīng)緯度    try:
        url = 'http://api.map.baidu.com/geocoding/v3/?address={}&output=json&ak={}&callback=showLocation'.format(address,AK)
        res_test = requests.get(url).text
        res = re.search('\((.*?)\)', res_test).group(0).strip('(').strip(')')
        lng = json.loads(res)['result']['location']['lng']
        lat = json.loads(res)['result']['location']['lat']
        print(lng, lat)
        return lng, lat
    except Exception as e:
        print('error ---------\n')
        return None

百度地圖 API 的 地址經(jīng)緯度轉(zhuǎn)換 功能 定位不僅僅局限于省、市,還能定位到門牌號,只要你提供的地址越詳細,獲取的經(jīng)緯度信息越準確

4、可視化分析

這一部分進入可視化分析內(nèi)容,城市畢竟是北京么所以首要的就是關(guān)注房價問題,在抓取的數(shù)據(jù)中,最高的將近19萬+/每平方,最低的僅有 1.5 萬/每平方

怎么用Python采集北京二手房數(shù)據(jù)

我看到 1.5 萬每平方就不淡定了,這數(shù)據(jù)肯定有貓膩(北京房價按常理不可能這么低);為了驗證想法,首先做了房產(chǎn)地段標記先看

怎么用Python采集北京二手房數(shù)據(jù)

上面是房價最高 Top10 的地段位置,看起來地理位置還行,都是在三環(huán)四環(huán)之內(nèi)、分布在市中心附件,如果單看這張圖的地圖的話得不到有用的信息,可以對比一下 房價最低 Top10

怎么用Python采集北京二手房數(shù)據(jù)

上面北京二手房房價排名后十 地段分布,房價在 1.5萬-3萬 不等,沒看到這個分布圖之前僅僅認為上面價格是賣家標錯了,看完這個圖后才發(fā)現(xiàn)賣家是 掛著羊頭賣狗肉,掛著北京的名號,賣著北京以外的房子(有的房子已經(jīng)位于河北境內(nèi)),這可能就是賣房的套路之一吧

事出反常必有妖,無論買房還是買其他商品也好,賣家不會平白無故地給我們優(yōu)惠,當價格遠低于市場價之前交易需慎重、慎重、再慎重!

房價我分為 5 個區(qū)間,分別為 0-3萬、3-8萬、8-12萬、12-15萬,15萬+ 五段,

其中房價位于 3-8萬 占比最大達 76 %占比,次之就是8-12萬、12-15萬,依次占比為16.38%、3.46%,而房價位于 15 萬 + 占比最少,僅有1.12% 左右;

接下來我們再看一下,不同價位二手房在北京的分布

15萬+的

怎么用Python采集北京二手房數(shù)據(jù)

8-12萬

怎么用Python采集北京二手房數(shù)據(jù)

3-8萬

怎么用Python采集北京二手房數(shù)據(jù)

從地段分布來看北京房價以8萬作為分水嶺,8萬+和8萬以內(nèi)房產(chǎn)分布明顯變化,價格越高,越靠市中心以外;從地圖信息來看,想在北京買一套地段不錯的房子,預(yù)期房價最低也要在8萬+,8 萬是什么概念,也就說如果你想在北京買一套50平米的房子,最低也要 400萬!

關(guān)于15萬+ 的房產(chǎn),大致都分布兩個區(qū)域,一個是高校區(qū)(周圍是人大、北航、清華等高校),另一個位于右下角,也就是北京朝陽區(qū)

北京賣的二手房不一定都是裝修之后的,有可能也是毛坯(剛建造交付之后,未進行任何裝修);參考下圖,北京二手房中毛坯占比約1.39%共41套,戶主買來這些房子大概率用于資產(chǎn)增值而不是作為剛需;

怎么用Python采集北京二手房數(shù)據(jù)

借助 Treemap 圖再看一下北京二手房建筑時間分布,大部分都集中于2002-2010 這 9 年,北京房產(chǎn)也是在這段期間迅速發(fā)展, 到 2015 年之后明顯收緩,源于可建筑地段已經(jīng)達到飽和再加上國家相關(guān)政策的施壓

到此,關(guān)于“怎么用Python采集北京二手房數(shù)據(jù)”的學(xué)習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習,快去試試吧!若想繼續(xù)學(xué)習更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI