高德API+Python帮你解决租房问题
项目简介:编写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测试,可在实验楼中查看并在线完成,立即【开始实验】
作者:xiaoxiaozi
来源:51CTO
安装 Python 开发环境,准备体验 OpenAI 的 API 在刚接触 Python 的时候,大多数人都会面临一个问题,针对不同的需求,不同的环境,我到底是选择 2 还是 3,就需要一个强大的 Python环境管理工具了,可以在电脑上同时搭建两套环境,并且可以在两个环境之间来回切换而不受对方的影响,Anaconda 就是你需要的。
5分钟构建API接口服务 | python小知识 Flask是python中轻量的web框架,Flask的两个核心模块除了模板渲染之外就是请求响应处理,其中请求响应处理是由 Werkzeug(WSGI 工具库)完成,而模板渲染是由Jinja(模板渲染库)完成。 Flask因为轻量灵活,用来构建API接口十分合适
线性规划求解第一的MindOpt如何使用Python语言的API建模及优化 MindOpt是一款高效的优化算法软件包,求解算法实现了线性规划(LP)、混合整数线性规划(MILP)、二次规划(QP),可以支持命令行、c、c++、java和python调用。接下来我们将发布一系列文章,讲述各个语言如何使用 MindOpt 来求解数学规划问题
相关文章
- Python基础语法和数据类型最全总结
- 【Python开发】查看数据类型
- Python 调用API接口方式,通过http.client调用api接口,远程调用flask接口方式
- 大数据-计算引擎-Spark(四):原生Spark(基于Scala语言)、Pyspark(使用Python定义的Api接口来调用底层Scala代码)对比
- PYTHON 常用API ***
- 第3天:Python 变量与数据类型
- 零基础如何学好Python开发?
- [AWS] Lambda by Python to build serverless Rest API
- 中文格式python 打印json格式的数据中文显示问题
- python 判断文件是否存在和删除文件的api (其中判断文件在不在让想起这个可以强兼容jenkins工作目录那个问题)
- redis API ---python
- 19【C趣味算法 & 却是用Python解决】国王的失算(数量级太大Dev-C++中无法得出结果),考虑用Python实现
- 基于OpenCV DNN模块给黑白老照片上色(附Python/C++源码)
- python:将一个文件转换为二进制文件(binary)
- openstack中glance组件images的全部python API 汇总
- Python 操作 MySQL 数据库
- Python numpy.fromfile函数方法的使用
- python下yield(生成器)
- Python学习路线——Python学习的10大阶段(0基础必须收藏)
- 驰骋股市!手把手教你如何用Python和数据科学赚钱?
- python实现求解一亿以下的素数
- Windows API Hooking in Python
- C++多线程中调用python api函数
- FastAPI - most popular API framework in python
- Jenkins Python API
- python 装饰器