高德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 文件夹, 并将其作为我们的工作目录。

$ 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
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

■欢迎关注 Reboot教育  运维自动化班---9月11(周日)开班

详情点击:http://www.51reboot.com/course/devops/

上课形式:面授班 / 网络直播班

报名QQ:979950755

时间: 2024-10-30 12:14:35

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

高德 API+Python 解决租房问题

项目简介: 编写Python脚本爬取某租房网站的房源信息,利用高德的 js API 在地图上标出房源地点,划出距离工作地点1小时内可到达的范围,附上公交路径规划功能查看不同路径的用时. 一.介绍 1.背景 项目来自一段租房血泪史(夸张):事情是这样的,笔者是接着念大四准备考研,而室友是应届毕业在找工作,说白了就是都没有钱,于是打算合租.因为穷所以不可能找有门店的的中介,只能看看赶集.58 和一些租房APP.期间需要考虑两个人的通勤范围来选地段,由于对交通的不熟悉,只有选择自己附近的较贵的地段,花

高德API+.NET解决租房问题(可能是最可靠房源:上海互助租房)

作者:李国宝链接:https://zhuanlan.zhihu.com/p/22113421来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. PS:最近点赞和关注的小伙伴有点多,感觉我都变得勤奋多了. 次标题:上海专版-互助租房高德搜房 房源来源: 互助租房(http://www.huzhumaifang.com/Renting/index.html) 互助租房微博(http://weibo.com/u/5389952376) 微博简介: 简介: 这里是新浪微博“互

高德API+.NET解决租房问题(JS相关)

在线地址:58同城品牌公寓高德搜房 Github地址:https://github.com/liguobao/58HouseSearch 知乎专栏(点赞用的):高德API+Python解决租房问题(.NET版) 经过了一个星期的修补补,以及小伙伴奉献的代码,整个项目基本处于基本稳定运行的状态. 同时加入了一下新功能: IP定位:调用高德地图IP定位功能实现 移动地图中心定位:调用高德地图移动地图定位实现 定位城市名转58同城城市名以获得准确58同城城市域名:抓取58同城城市分类信息 优化数据源.

高德API+.NET解决租房问题(新增诚信房源)

作者:李国宝链接:https://zhuanlan.zhihu.com/p/22105008(欢迎点赞)来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 之前有小伙伴反应说,他所在的城市没有品牌公寓房源或者品牌公寓租金有点承受不起,希望看看有没有别的房源可以提供. 然后去看了一圈58同城租房信息之后发现,除了品牌公寓的数据还看得下(据知友评论,品牌公寓也很一般),剩下的只能用“诚信房源”数据了. 而对于诚信房源,58同城是这样下面说明的: 经纪人向您承诺:该房源待租

自备百度地图API密钥 解决Cooply“地图API未授权”问题

自备百度地图API密钥 解决Cooply"地图API未授权"问题 ? ? ? ? ? 有时候,当我们时,会看到提示百度未授权使用地图API,这是因为coolpy的开发者是使用的自己的百度开放平台密钥做的测试,而我们把coolpy下载来后直接使用了人家的百度地图api访问权限,这就是导致问题的原因. 所以,我们在下载来coolpy准备使用的时候,应该先提前将API key换成自己的.这样你使用的时候才不会时不时出问题 ? ? 首先登陆百度账号,注册成为开发者 http://develop

有关科学计算方面的python解决

在科学计算方面,一般认为matlab是一个超强的东西,此外还有R. 至于某种语言来说,一般都要讲究一些特别的算法,包括但不限于: 矩阵方面的计算 指数计算 对数计算 多项式运算 各类方程求解 总之,只要是数学问题,在python里面,可以使用以下任何一个来解决 NumPy SciPy matplotlib ETS 顺便推荐一本书<用Python做科學計算>.地址是:http://myshare.dscloud.me/scipydoc/(不做超链接,看看能不能发布) 所以,用python解决数学

Python解决中文乱码问题

在Python中内部所有编码都是Unicode,Unicode属于中转码,一般来说,是先把乱码转化为中转码,再转化为我 们需要的编码,转换过程为decode -> unicode -> encode. #coding:utf-8 #-*- coding:utf-8 -*- import sys print sys.getdefaultencoding() print '中国' f = open('Hello.txt') data = f.read() f.close() print data.

【高德API】如何利用MapKit开发全英文检索的iOS地图

原文:[高德API]如何利用MapKit开发全英文检索的iOS地图 制作全英文地图的展示并不困难,但是要制作全英文的数据检索列表,全英文的信息窗口,你就没办法了吧.告诉你,我有妙招!使用iOS自带的MapKit来展示全球英文底图,结合上高德API的中英文检索功能,就能打造POI数据最丰富,英文展示全方位的纯英文地图啦!看看截图,是不是浑然天成? ----------------------------------------------------------------------------

python解决导入自定义库失败: ModuleNotFoundError: No module named &#39;MyLib&#39;

python安装目录:...\python_3_6_1_64bit 新建文件:chenyeubai.pth,写入库所在的绝对路径E:\workSpace\my_code\learn\myLib 安装路径下的.pth文件会在运行时将文件中路径写入path python解决导入自定义库失败: ModuleNotFoundError: No module named 'MyLib' 原文地址:https://www.cnblogs.com/chenyuebai/p/8416706.html