高德 API+Python 解決租房問題

來源:互聯網
上載者:User

標籤:使用   過程   北京   輸入   自己   python   教程   檔案夾   利用   

項目簡介:

編寫Python指令碼爬取某租房網站的房源資訊,利用高德的 js API 在地圖上標出房源地點,划出距離工作地點1小時內可到達的範圍,附上公交路徑規劃功能查看不同路徑的用時。

一、介紹

 1.背景

項目來自一段租房血淚史(誇張):事情是這樣的,筆者是接著念大四準備考研,而室友是應屆畢業在找工作,說白了就是都沒有錢,於是打算合租。因為窮所以不可能找有門店的的中介,只能看看趕集、58 和一些租房APP。期間需要考慮兩個人的通勤範圍來選地段,由於對交通的不熟悉,只有選擇自己附近的較貴的地段,花了很多時間閱覽趕集或者58裡的個人房源資訊,然而個人房源資訊中仍充斥著大量中介,抱著一點希望打了幾個電話,得到的回答都是這個價位根本租不到,再高點也租不到(大都與發布的房源資訊不符)。最後終於還是在宿舍關閉前一個星期租到一個性價比還可以的隔斷。畢竟隔斷還是不方便的,所以打算在室友找到工作後換一個新地方,於是就有了這個租房指令碼和教程。(教程地址:https://www.shiyanlou.com/courses/599)

相信也有不少的應屆畢業生可能會遭遇同樣的境況,希望這個教程真的能幫到大家,也許不僅是在租房方面。

總結一下租房難的癥結:

    1.沒錢

    2.小中介發布的價位一般都是假的,會浪費你很多時間

    3.對交通路線不熟悉以致於選擇面窄

    4.如果是多人,得同時考慮多人的通勤時間

本教程將解決的問題:

    1.學習了技術,增長了知識,就能找到好工作,找到好工作就能有錢

    2.這次選的房源資訊來自58的品牌公寓館,所以沒有那種小中介,價位就我和我室友來說可以接受。其實可以做個分類器過濾趕集上的中介來找低價個人房源的,有需要的同學可以試一下

    3.通勤範圍在地圖上圈出,解決了對交通路線不熟悉的問題

    4.本課程是單人版的,但代碼中只要刪掉一個語句就能當多人用了(但是路徑規劃的功能是只能給一個人用)。如果是直接拿來多人用的話,還是開多個頁面比較好

最終如下:

由於沒做前端相容,導致右上方崩了。自用的小工具其實也不用整多好看,效率第一。

,划出來的大片藍色色塊就是距離工作地點一小時車程內的地區。藍色的標記就是房源,點擊後會自動給出路徑規劃和房源地址。紅色標記(不是"終")是工作地點,在圖裡被擋住了。工作地點的輸入框有自動補完的功能,也是很方便的。至於房源檔案我們會通過編寫Python指令碼在抓取房源資訊後產生。

2. 知識點

本教程項目完成過程中,我們將學習:

  1.requests、BeautifulSoup、csv 等庫的簡單使用

  2.高德地圖 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中分出來呢,寫指令碼怎麼順手怎麼來就好。

四、效果示範

首先選擇工作地點,划出了一小時內的通勤範圍:

北京堵車太猖狂,可能還是地鐵保險:

匯入房源檔案後:

選擇一處房源,會自動幫你規劃路徑:

選中房源地址跳轉到目標頁面:

Wayne Shi
來源:知乎
商業轉載請聯絡作者獲得授權,非商業轉載請註明出處

 

Python學習交流群:238757010

 

高德 API+Python 解決租房問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.