高德API+Python幫你解決租房問題
項目簡介:編寫Python腳本爬取某租房網(wǎng)站的房源信息,利用高德的 js API 在地圖上標出房源地點,劃出距離工作地點1小時內可到達的范圍,附上公交路徑規(guī)劃功能查看不同路徑的用時。
本教程由ekCit發(fā)布在實驗樓,完整教程及在線練習地址:高德API+Python解決租房問題,可以直接在教程中下載代碼使用demo。
一、項目介紹
1. 項目背景
來自一段租房血淚史(夸張):事情是這樣的,筆者是接著念大四準備考研,而室友是應屆畢業(yè)在找工作,說白了就是都沒有錢,于是打算合租。因為窮所以不可能找有門店的的中介,只能看看趕集、58、和一些租房APP。期間需要考慮兩個人的通勤范圍來選地段,由于對交通的不熟悉,只有選擇自己附近的較貴的地段,花了很多時間閱覽趕集或者58里的個人房源信息,然而個人房源信息中仍充斥著大量中介,抱著一點希望打了幾個電話,得到的回答都是這個價位根本租不到,再高點也租不到(大都與發(fā)布的房源信息不符)。最后終于還是在宿舍關閉前一個星期租到一個性價比還可以的隔斷。畢竟隔斷還是不方便的,所以打算在室友找到工作后換一個新地方,于是就有了這個租房腳本和課程。
相信也有不少的應屆畢業(yè)生可能會遭遇同樣的境況,希望這門課能真的幫到大家,也許不光是在租房子方面。
總結一下租房難的癥結:
沒錢。
小中介發(fā)布的價位一般都是假的,會浪費你很多時間。
對交通路線不熟悉以致于選擇面窄。
如果是多人,得同時考慮多人的通勤時間。
本課程將解決的問題:
學習了技術,增長了知識,就能找到好工作,找到好工作就能有錢。
這次選的房源信息來自58的品牌公寓館,所以沒有那種小中介,價位就我和我室友來說可以接受。其實可以做個分類器過濾趕集上的中介來找低價個人房源的,有需要的同學可以試一下。
通勤范圍在地圖上圈出,解決了對交通路線不熟悉的問題
本課程是單人版的,但代碼中只要刪掉一個語句就能當多人用了(但是路徑規(guī)劃的功能是只能給一個人用)。如果是直接拿來多人用的話,還是開多個頁面比較好。
最終效果圖如下:
由于沒做前端兼容,導致右上角崩了。自用的小工具其實也不用整多好看,效率第一。
如圖,劃出來的大片藍色色塊就是距離工作地點一小時車程內的區(qū)域。藍色的標記就是房源,點擊后會自動給出路徑規(guī)劃和房源地址。紅色標記(不是"終")是工作地點,在圖里被擋住了。工作地點的輸入框有自動補完的功能,也是很方便的。至于房源文件我們會通過編寫Python腳本在抓取房源信息后生成。
2. 知識點
本課程項目完成過程中,我們將學習:
- requests、BeautifulSoup、csv 等庫的簡單使用
- 高德地圖 Javascript API 的使用
二、實驗環(huán)境
打開終端,進入 Code 目錄,創(chuàng)建 rent_proj 文件夾, 并將其作為我們的工作目錄。
- $ cd Code
- $ mkdir rent_proj && cd rent_proj
安裝需要的庫:
- $ sudo apt-get install python-bs4
三、實驗原理
實驗中會用到三個文件:crawl.py,rent.csv與index.html,其中rent.csv由crawl.py生成,是房源文件。crawl.py是一個非常簡單的爬取網(wǎng)頁的腳本。index.html是最重要的顯示地圖的部分。實現(xiàn)的流程大致如下:
我為什么不把js代碼和css代碼從index.html中分出來呢,寫腳本怎么順手怎么來就好。
四、效果演示
首先選擇工作地點,劃出了一小時內的通勤范圍:
北京堵車太猖狂,可能還是地鐵保險:
導入房源文件:
選擇一處房源,會自動幫你規(guī)劃路徑:
選中房源地址跳轉到目標頁面:
五、實驗步驟
本項目的詳細教程、完整代碼及demo測試,可在實驗樓中查看并在線完成,立即【開始實驗】
更多Python經典項目:Python全部-課程