項目簡介:編寫Python腳本爬取某租房網站的房源信息,利用高德的 js API 在地圖上標出房源地點,劃出距離工做地點1小時內可到達的範圍,附上公交路徑規劃功能查看不一樣路徑的用時。css
本教程由ekCit發佈在實驗樓,完整教程及在線練習地址:高德API+Python解決租房問題,能夠直接在教程中下載代碼使用demo。html
來自一段租房血淚史(誇張):事情是這樣的,筆者是接着念大四準備考研,而室友是應屆畢業在找工做,說白了就是都沒有錢,因而打算合租。由於窮因此不可能找有門店的的中介,只能看看趕集、5八、和一些租房APP。期間須要考慮兩我的的通勤範圍來選地段,因爲對交通的不熟悉,只有選擇本身附近的較貴的地段,花了不少時間閱覽趕集或者58裏的我的房源信息,然而我的房源信息中仍充斥着大量中介,抱着一點但願打了幾個電話,獲得的回答都是這個價位根本租不到,再高點也租不到(大都與發佈的房源信息不符)。最後終於仍是在宿舍關閉前一個星期租到一個性價比還能夠的隔斷。畢竟隔斷仍是不方便的,因此打算在室友找到工做後換一個新地方,因而就有了這個租房腳本和課程。前端
相信也有很多的應屆畢業生可能會遭遇一樣的境況,但願這門課能真的幫到你們,也許不光是在租房子方面。python
總結一下租房難的癥結:工具
沒錢。學習
小中介發佈的價位通常都是假的,會浪費你不少時間。測試
對交通路線不熟悉以至於選擇面窄。網站
若是是多人,得同時考慮多人的通勤時間。spa
本課程將解決的問題:code
學習了技術,增加了知識,就能找到好工做,找到好工做就能有錢。
此次選的房源信息來自58的品牌公寓館,因此沒有那種小中介,價位就我和我室友來講能夠接受。其實能夠作個分類器過濾趕集上的中介來找低價我的房源的,有須要的同窗能夠試一下。
通勤範圍在地圖上圈出,解決了對交通路線不熟悉的問題
本課程是單人版的,但代碼中只要刪掉一個語句就能當多人用了(可是路徑規劃的功能是隻能給一我的用)。若是是直接拿來多人用的話,仍是開多個頁面比較好。
最終效果圖以下:
因爲沒作前端兼容,致使右上角崩了。自用的小工具其實也不用整多好看,效率第一。
如圖,劃出來的大片藍色色塊就是距離工做地點一小時車程內的區域。藍色的標記就是房源,點擊後會自動給出路徑規劃和房源地址。紅色標記(不是"終")是工做地點,在圖裏被擋住了。工做地點的輸入框有自動補完的功能,也是很方便的。至於房源文件咱們會經過編寫Python
腳本在抓取房源信息後生成。
本課程項目完成過程當中,咱們將學習:
requests
、BeautifulSoup
、csv
等庫的簡單使用
高德地圖 Javascript API 的使用
打開終端,進入 Code
目錄,建立 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
是一個很是簡單的爬取網頁的腳本。index.html
是最重要的顯示地圖的部分。實現的流程大體以下:
我爲何不把js
代碼和css
代碼從index.html
中分出來呢,寫腳本怎麼順手怎麼來就好。
首先選擇工做地點,劃出了一小時內的通勤範圍:
北京堵車太猖狂,可能仍是地鐵保險:
導入房源文件:
選擇一處房源,會自動幫你規劃路徑:
選中房源地址跳轉到目標頁面:
本項目的詳細教程、完整代碼及demo測試,可在實驗樓中查看並在線完成,【高德API+Python解決租房問題】
更多Python經典項目:Python所有-課程