新聞中心
我們平時(shí)在用Python爬取網(wǎng)頁上的數(shù)據(jù)時(shí),對爬取到到的數(shù)據(jù)做數(shù)據(jù)分析展現(xiàn)有很多種方式,比如可以通過echart圖表接口、python提供的第三方庫,甚至還可以用matlab工具來進(jìn)行數(shù)據(jù)統(tǒng)計(jì)和圖表可視化展現(xiàn)。

創(chuàng)新互聯(lián)公司專注于虎丘網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供虎丘營銷型網(wǎng)站建設(shè),虎丘網(wǎng)站制作、虎丘網(wǎng)頁設(shè)計(jì)、虎丘網(wǎng)站官網(wǎng)定制、成都微信小程序服務(wù),打造虎丘網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供虎丘網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
可無論是以上哪一種方式,都需要通過代碼來調(diào)用Python爬好的數(shù)據(jù)來進(jìn)行畫圖,圖表樣式屬性設(shè)置等方面還是比較繁瑣的。
同樣的問題,有一次小編領(lǐng)導(dǎo)要求我做一份有關(guān)于南京房價(jià)的數(shù)據(jù)匯報(bào),需要做到報(bào)表里面。數(shù)據(jù)是沒有的,自然而然想到用Python爬,爬好后直接做數(shù)據(jù)圖表粘貼到報(bào)表中。但后來發(fā)現(xiàn)方法太土,匯報(bào)時(shí)不好做動(dòng)態(tài)的數(shù)據(jù)展現(xiàn)(影響小編炫技裝逼)。于是乎就想辦法,將爬取到的數(shù)據(jù)導(dǎo)入到報(bào)表或者BI系統(tǒng)里面,利用BI本身的一些分析功能,聯(lián)動(dòng)著其他數(shù)據(jù)做展現(xiàn)。于是就有了本篇“Python爬數(shù)據(jù),F(xiàn)ineBI畫圖”的文章。
關(guān)于FineBI
這是一個(gè)可視化的自助式BI工具,整個(gè)操作就是導(dǎo)數(shù)據(jù)/連數(shù)據(jù)庫——處理數(shù)據(jù)(可視化ETL)選擇圖表——拖數(shù)據(jù)字段——可視化展現(xiàn)&美化,操作簡單上手快。小編只是用了其可視化的一隅功能,多數(shù)情況下,這個(gè)工具都是拿來做可視化報(bào)表,對接企業(yè)大數(shù)據(jù)平臺(tái),做企業(yè)數(shù)據(jù)運(yùn)營分析用。
原理介紹
廢話不多說,直接貼出操作。
因?yàn)橄肟纯茨暇┓績r(jià)數(shù)據(jù),但是網(wǎng)站上的很多數(shù)據(jù)都是以HTM5的形式進(jìn)行呈現(xiàn)的,所以考慮通過Python來進(jìn)行網(wǎng)頁數(shù)據(jù)抓取和入庫,數(shù)據(jù)分析方面通過FineBI工具直接連接數(shù)據(jù)庫,分析和可視化呈現(xiàn)。
整體的思路:
數(shù)據(jù)層方面先通過Python抓取到WEB端的網(wǎng)頁數(shù)據(jù),之后對爬取到數(shù)據(jù)進(jìn)行解析再而存儲(chǔ)到MYSQL數(shù)據(jù)入庫;
最后應(yīng)用層的數(shù)據(jù)處理、數(shù)據(jù)計(jì)算統(tǒng)計(jì)、圖表可視化呈現(xiàn)等工作全都交由FineBI工具來做。
操作步驟
1.引入相關(guān)python庫包
首先新建python工程,引入本次爬取網(wǎng)頁數(shù)據(jù)和寫入MySQL數(shù)據(jù)庫所需要的requests、pymysql、bs4這三個(gè)包:
2.獲取網(wǎng)頁數(shù)據(jù)
然后如下圖所示,通過編寫Python代碼獲取到某一個(gè)房產(chǎn)網(wǎng)頁的南京售房平臺(tái)的網(wǎng)頁信息:
3.HTML標(biāo)簽解析
接著再對DIV樣式下的HTML數(shù)據(jù)包進(jìn)行逐一解析,獲取到想要的房源名稱、地址、小區(qū)、戶型、面積、總價(jià)、單價(jià)、區(qū)域等數(shù)據(jù):
其中對應(yīng)網(wǎng)頁的標(biāo)簽樣式可以通過瀏覽器的F12開發(fā)選項(xiàng)進(jìn)行快速獲取,如下圖所示的定位房源信息截圖,我們只需要右鍵瀏覽器在所需要獲取標(biāo)簽樣式名稱的地方點(diǎn)擊檢查元素即可(房源名稱的標(biāo)簽即位house-title的title元素)。
4.MySQL數(shù)據(jù)回寫
解析好數(shù)據(jù)之后,再將解析好的數(shù)據(jù)寫入到MySQL數(shù)據(jù)庫中:
循環(huán)遍歷該平臺(tái)在南京最近七天的網(wǎng)頁售房信息數(shù)據(jù),頁面17頁,共計(jì)377條數(shù)據(jù):
5.安裝FineBI&&驗(yàn)證數(shù)據(jù)入庫
通過FineBI官網(wǎng)下載并按照引導(dǎo)安裝好軟件:
直接通過FineBI提供的數(shù)據(jù)配置端的功能,添加SQL數(shù)據(jù)集(或者直接添加表也行),查看和驗(yàn)證剛剛爬取并且入庫的數(shù)據(jù)是否已經(jīng)真正成功入庫到MySQL中了。
如下圖所示,Python果然不辱使命,我要的該平臺(tái)的七天南京的房價(jià)售房數(shù)據(jù)都已經(jīng)成功寫入到了我的MySQL數(shù)據(jù)庫中了。
6.FineBI可視化制作&成果展示
然后思考需要分析展現(xiàn)哪些內(nèi)容,比如“南京各小區(qū)房價(jià)分布”、“房型價(jià)格分析”、“各區(qū)域房價(jià)分析”.....通過FineBI制作圖表展現(xiàn)。
下面這個(gè)動(dòng)圖展示了一個(gè)圖表的制作,其他都類似的,可參考。不懂可參見FineBI官網(wǎng)的幫助文檔。
花了十分鐘,就將我想要看的南京售房信息(房源面積均價(jià)、套房總均價(jià)、小區(qū)房價(jià)四象限分布圖、區(qū)域房價(jià)分析、房型價(jià)格分析)以可視化的形式呈現(xiàn)出來了。
最后就是本次成果展示啦,也曬出來跟大家分享下,如下所示:
1.目前南京房源均價(jià)為3.78萬每平方米,總均價(jià)為401.38萬,總體上還是比較高的。
2.建鄴區(qū)房價(jià)最高,果然房價(jià)還是緊跟國家政策啊,建鄴目前城區(qū)開發(fā)建設(shè)政府的扶持力度在南京都是走在前面的。鼓樓、玄武、秦淮分別排在二、三、四的位置,雨花臺(tái)和江寧房價(jià)相對較低,綜合市區(qū)位置來看,還是秦淮區(qū)性價(jià)比最高啊 。
3.房型方面,6室3廳的豪華大宅總均價(jià)接近一千萬,比如紫檀雅居、碧水灣別墅、濱江奧城聽雨苑這一類土豪小區(qū),多集中在建鄴和鼓樓區(qū)域;一室一廳的房子均價(jià)大概在150萬的樣子,比如托樂嘉單身公寓、經(jīng)緯城市花園等小區(qū),適合單身貴族或者情侶小夫婦居住,南京各個(gè)大區(qū)都有;比較主流的三室一廳房價(jià)在300萬左右,比如喬虹苑小區(qū)、良辰美景家園、白云園,多集中在秦淮和鼓樓區(qū)域。
后記
Python完成對網(wǎng)頁數(shù)據(jù)的抓取和解析存儲(chǔ)之后,配合FineBI強(qiáng)大的數(shù)據(jù)可視化呈現(xiàn)能力則圓滿地完成了本次對南京售房數(shù)據(jù)的統(tǒng)計(jì)和分析需求,絕對推薦!
本文題目:黑科技!當(dāng)會(huì)爬蟲的Python遇上會(huì)畫圖的FineBI……
文章源于:http://www.dlmjj.cn/article/djdpjdj.html


咨詢
建站咨詢
