项目简介:编写Python脚本爬取某租房网站的房源信息,利用高德的 js API 在地图上标出房源地点,划出距离工作地点1小时内可到达的范围,附上公交路径规划功能查看不同路径的用时。项目由ekCit发布在实验楼,完整教程及在线练习地址:高德API+Python解决租房问题,可以直接在教程中下载代码使用demo。

一、介绍

1. 背景

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

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

总结一下租房难的症结:没钱。

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

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

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

本课程将解决的问题:学习了技术,增长了知识,就能找到好工作,找到好工作就能有钱。

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

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

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

最终效果图如下:

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

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

2. 知识点

本课程项目完成过程中,我们将学习: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测试,可在实验楼中查看并在线完成,更多Python经典项目:Python全部 - 课程

高德python解决租房项目费用_高德API+Python解决租房问题相关推荐

  1. python游戏小项目简单_[简单学Python] 通过一个小游戏完成Python入门[2]变量和赋值...

    变量和赋值 到这里,你已经成功地打印出了千寻的名字和卖身契.与此同时,千寻也成为了汤婆婆的工人,渐渐地,她忘记了自己是谁,遗失了自己"姓名"的信息. 那么,在信息纷繁的代码世界里, ...

  2. python架构师培训课程_Python从零到架构师课程 六大阶段Python高级课程+项目实战 尚学堂全方位Python课程...

    Python从零到架构师课程  六大阶段Python高级课程+项目实战 尚学堂全方位Python课程 3.JPG (31.16 KB, 下载次数: 1) 2019-9-17 23:36 上传 2.JP ...

  3. python爬取地图数据_高德3地图之python爬取POI数据及其边界经纬度(根据关键字在城市范围内搜索)...

    目前高德的边界没法批量爬取,不过可以采用百度地图的接口来替代,目前用着还可以,参见这里: 为了方便大家,不用再为安装环境,以及运行报错等问题困扰,目前已经将POI数据爬取做成一个在线公开的数工具,地址 ...

  4. python新手入门项目推荐_适合初学者练手的 10 个 有趣Python项目

    Python Python开发 Python语言 适合初学者练手的 10 个 有趣Python项目 想成为一个优秀的开发者,没有捷径可走,势必要花费大量时间在键盘后. 而不断地进行各种小项目开发,可以 ...

  5. vue 高德地图 不同区域显示不同颜色_高德百度哪家强?苹果Carplay第三方分屏功能评测...

    几天前,苹果公司正式更新了iOS13.4版本.一个小版本系统更新,却让车主群热闹了起来.在这个版本中,苹果正式开放了Carplay分屏显示模式下对第三方地图的支持. 车主们的热情,化为高德地图和百度地 ...

  6. python爬取所有数据_入门用Python进行Web爬取数据:为数据科学项目提取数据的有效方法...

    作者|LAKSHAY ARORA 编译|Flin 来源|analyticsvidhya 总览 Web抓取是一种从网站提取数据的高效方法(取决于网站的规定) 了解如何使用流行的BeautifulSoup ...

  7. 高德地图哪个语音包最好_高德地图app怎么录制语音包?高德地图将自己的语音用作导航语音包的方法介绍...

    高德地图是一款中国专业的手机地图,拥有全面的地点信息,特色语音导航.智能路线规划,是我们常用的一款移动地图导航工具,用高德地图语音导航,可以听到很多明星的导航语音播报,当然你也可以自己录制语音包.那么 ...

  8. python 哪些比赛项目_70个超火python小项目列表,拿走·不谢

    前言: 不管学习哪门语言都希望能做出实际的东西来,这个实际的东西当然就是项目啦,不用多说大家都知道学编程语言一定要做项目才行. 这里整理了70个Python实战项目列表,都有完整且详细的教程,你可以从 ...

  9. python wx窗口无法关闭_菜鸟学Python,双手奉上老司机给上路新手总结的Python实战问题…...

    针对Python这一话题每天后台都会有不少小伙伴提出问题,下面我就将这些问题进行汇整,产出"Python实战问题篇",我认为这些问题非常具有代表性,希望可以帮到大家. 第一类问题: ...

最新文章

  1. 上周热点回顾(7.1-7.7)
  2. virtualbox mac-debian共享文件夹
  3. How is navigation target url request handled by backend
  4. php开发视频播放顺序,请问关于php代码运行顺序问题
  5. 面试基操:MQ怎么保障消息可靠性?
  6. 编程实现newton插值c++_数据体操:数据处理和IDW地理插值算法
  7. 趣学 C 语言(十)—— 控制台交互(getch() vs. getchar())
  8. 干货丨Kotlin在Spring Boot中的应用
  9. 面试被问高并发流量控制,我脸都绿了...
  10. Python编程 | 随机生成车牌号
  11. Android开发入门案例
  12. linux强制连接蓝牙键盘,Thinkpad 蓝牙键盘 Fn 键处于锁定状态的解决方法
  13. Deep Learning学习笔记(5)——AlphaGo
  14. 将iTunes降级到12.6版本
  15. Python调用xbox手柄马达震动
  16. Word 中利用“多级列表“功能实现章节标题自动编号
  17. The Coder Vol.1: 向上生长
  18. Vue2生命周期函数
  19. 系统架构设计(3)-可扩展性
  20. iOS设备播放mkv格式视频无声音解决

热门文章

  1. Linux-解决tar解压文件时报错“gzip: stdin: not in gzip format”
  2. Python-logging模块
  3. 网页视频播放方案chimee 组件使用
  4. 公司感染勒索病毒怎么办 怎样及时补救?
  5. 计算机的三级密码怎么设,win7电脑三级密码怎么设置
  6. 2023-06-16最新谷歌fonts公共资源,解决引入fonts.googleapis.com/css字体网页响应缓慢问题
  7. 毕业论文提纲怎么写?
  8. python 编写生肖计算器(计算属相和推算年龄)
  9. 基于C#的公交充值管理系统的设计与实现
  10. (一)OS——计算机系统概述