高德API+Python帮你解决租房问题

项目简介:编写Python脚本爬取某租房网站的房源信息,利用高德的 js API 在地图上标出房源地点,划出距离工作地点1小时内可到达的范围,附上公交路径规划功能查看不同路径的用时。

本教程由ekCit发布在实验楼,完整教程及在线练习地址:高德API+Python解决租房问题,可以直接在教程中下载代码使用demo。

一、项目介绍

1. 项目背景

来自一段租房血泪史(夸张):事情是这样的,笔者是接着念大四准备考研,而室友是应届毕业在找工作,说白了就是都没有钱,于是打算合租。因为穷所以不可能找有门店的的中介,只能看看赶集、58、和一些租房APP。期间需要考虑两个人的通勤范围来选地段,由于对交通的不熟悉,只有选择自己附近的较贵的地段,花了很多时间阅览赶集或者58里的个人房源信息,然而个人房源信息中仍充斥着大量中介,抱着一点希望打了几个电话,得到的回答都是这个价位根本租不到,再高点也租不到(大都与发布的房源信息不符)。最后终于还是在宿舍关闭前一个星期租到一个性价比还可以的隔断。毕竟隔断还是不方便的,所以打算在室友找到工作后换一个新地方,于是就有了这个租房脚本和课程。

相信也有不少的应届毕业生可能会遭遇同样的境况,希望这门课能真的帮到大家,也许不光是在租房子方面。

总结一下租房难的症结:

没钱。

小中介发布的价位一般都是假的,会浪费你很多时间。

对交通路线不熟悉以致于选择面窄。

如果是多人,得同时考虑多人的通勤时间。

本课程将解决的问题:

学习了技术,增长了知识,就能找到好工作,找到好工作就能有钱。

这次选的房源信息来自58的品牌公寓馆,所以没有那种小中介,价位就我和我室友来说可以接受。其实可以做个分类器过滤赶集上的中介来找低价个人房源的,有需要的同学可以试一下。

通勤范围在地图上圈出,解决了对交通路线不熟悉的问题

本课程是单人版的,但代码中只要删掉一个语句就能当多人用了(但是路径规划的功能是只能给一个人用)。如果是直接拿来多人用的话,还是开多个页面比较好。

最终效果图如下:

由于没做前端兼容,导致右上角崩了。自用的小工具其实也不用整多好看,效率第一。

如图,划出来的大片蓝色色块就是距离工作地点一小时车程内的区域。蓝色的标记就是房源,点击后会自动给出路径规划和房源地址。红色标记(不是"终")是工作地点,在图里被挡住了。工作地点的输入框有自动补完的功能,也是很方便的。至于房源文件我们会通过编写Python脚本在抓取房源信息后生成。

2. 知识点

本课程项目完成过程中,我们将学习:

  1. requests、BeautifulSoup、csv 等库的简单使用
  2. 高德地图 Javascript API 的使用

二、实验环境

打开终端,进入 Code 目录,创建 rent_proj 文件夹, 并将其作为我们的工作目录。


  1. $ cd Code 
  2.  
  3. $ mkdir rent_proj && cd rent_proj  

安装需要的库:


  1. $ 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测试,可在实验楼中查看并在线完成,立即【开始实验】

作者:xiaoxiaozi

来源:51CTO

时间: 2024-07-31 19:35:16

高德API+Python帮你解决租房问题的相关文章

java-麻烦大家帮我解决一下这个问题。Java

问题描述 麻烦大家帮我解决一下这个问题.Java 麻烦大家帮我解决一下这个问题. 就是在java中怎么把文本域中一段文字中的所有关键字全部选中? 如图所示,如word中突出显示内容的功能 解决方案 能检索到文本,但是处于选中状态没有办法,可以使用JTextPane来将特定的文字改样式和颜色. 解决方案二: 阁下的意思是要处理一个文本,然后取出文本中指定的关键字? 解决方案三: String str = 文本域对象.getText().toString(); StringBuffer sb = n

求大神帮我解决ueditor单图上传按钮显示的问题asp.net

问题描述 求大神帮我解决ueditor单图上传按钮显示的问题asp.net 因为公司项目需要,昨天下载了一个.net版的ueditor富文本编辑器,现在也只是能在页面上显示出来了,还有很多的配置问题没解决,现在的问题是单图上传按钮是灰色的,怎么让它显示?还是多图上传的本地文件上传的配置问题,希望能来个大牛帮我解决一下,最好有个截图解释一下,才刚工作一个月,谢谢了

my-shopping-home.com帮你解决写外贸开发信的烦恼!!收藏

my-shopping-home.com帮你解决写外贸开发信的烦恼!!收藏外贸开发,信顾名思义就是你第一次写给潜在客人的邮件,信函.而外贸开发信,则是你写给你的潜在客户的第一封信件,其目的是开发这个潜在客户,希望建立业务合作,收获订单,扩展业务. my-shopping-home.com帮你解决写外贸开发信的烦恼!!收藏外贸开发,信顾名思义就是你第一次写给潜在客人的邮件,信函.而外贸开发信,则是你写给你的潜在客户的第一封信件,其目的是开发这个潜在客户,希望建立业务合作,收获订单,扩展业务.外贸开

照片拍灰了怎么办 PS帮你解决画面曝光问题

  照片拍灰了怎么办 PS帮你解决画面曝光问题          日出或日落前后是风光摄影的最佳时间,但由于此时光线的不可控性,尤其是在逆光情况下,天空与地面景物的曝光难以兼顾,较常出现天空曝光基本正常,而地面严重曝光不足,画面灰暗且色彩暗淡的问题. 调整思路 首先应显示出暗部的细节,同时要注意照片整体的对比度控制,然后再对色彩进行提高饱和度的处理,尤其是天空与太阳之间的冷暖对比,这是提升照片视觉效果的重点.此外,还应随时注意画面中的细节,避免调整过度. 技术分析 本例在调整时运用了多个调整图层

python超简单解决约瑟夫环问题

  本文实例讲述了python超简单解决约瑟夫环问题的方法.分享给大家供大家参考.具体分析如下: 约瑟环问题大家都熟悉.题目是这样的.一共有三十个人,从1-30依次编号.每次隔9个人就踢出去一个人.求踢出的前十五个人的号码: 明显的约瑟夫环问题,python实现代码如下: ? 1 2 3 4 5 6 a = [ x for x in range(1,31) ] #生成编号 del_number = 8 #该删除的编号 for i in range(15): print a[del_number]

视频声音太小怎么办 CoolEdit帮您解决

  不知怎么的有些刚下的视频声音很小听都没办法听清楚,音量不管你调多少高都没有用,你知道出现这种情况的时候你知道要怎么办吗?其实很简单只要把视频重新加工一下就可以解决问题了.下面小编就教大家如何用CoolEdit帮您解决视频声音小问题. 1.打开格式工厂,单击视频---所有转化为AVI,单击添加文件,打开视频文件夹,双击视频001打开视频.然后点确定,单击"点击这里开始转换",直到完成. 2.将提取好的音频作放大处理.打开CoolEdit. 3.单击文件---打开,找到提取出来的音频文

XP Mode帮你解决XP停止服务后

  年后最火的话题除了网络理财"余额宝"们之外,就属近期的XP停止服务了!XP停止服务后还能用吗?XP停止服务该怎么办?我要换哪个版本的操作系统啊?Win7还是Win8?更有用户要宁可等到即将发布的Windows 9,也不愿放弃XP... 当XP停止服务后,如果联网,将更容易受到病毒或者未知漏洞的攻击,安全性将大大降低!身边不少朋友担忧的问题主要集中在两方面:软件兼容和操作习惯.还怕更换新的操作系统,不太适应新的操作界面,找不到"熟悉"的菜单选项;怕新的系统对软件的

new-ASP.NET视频上传功能出错谁能帮我解决一下

问题描述 ASP.NET视频上传功能出错谁能帮我解决一下 using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.Web

hadoop mapreduce 能帮我解决什么问题?

问题描述 hadoop mapreduce 能帮我解决什么问题? 求救... 在mapreduce下,能够进行一次map后,对map的结果进行多次reduce呢? 解决方案 可以,我觉得用迭代式的mapreduce,就是一次map-reduce以后的结果,迭代回新的一个map-reduce(我是新手,不准之处希望指正=.=)