「Python」利用高德地图做你想做之事(内附python教程分享)
玩grasshopper基本上都知道OpenStreetMap 这个地图网站,毕竟有一个好用的地图插件,可以在Rhino中绘制出所需,但是一个不好的地方就在于国内的数据量太少,无法满足我们的需求。
此次所讲的高德地图基本上可以解决我们的痛点,当然百度地图也可以哦。涉及知识主要是python爬去数据,俗称爬虫,设计到的函数库为request和beautifulsoup。当然我刚开始玩,所以可能多有不对。
下面是基本流程:
- 注册成为高德地图API开发者,网址http://lbs.amap.com/。
- 获取申请Web类型服务API类型Key. http://lbs.amap.com/api/webservice/gettingstarted
- 根据需求阅读http://lbs.amap.com/api/webservice/guide/api/search文档。
- 创建网络爬虫爬取数据,并对数据进行解析
- 在rhino中绘制,或者使用matplotlib,networkx对数据进行图表化。
下面详细流程中一些重点节点部位。
- 1.不要将你的密钥进泄露,白名单可以不进行填写,这样意味这所有的IP地址都可以访问,当然也可以查阅你自己的IP地址进行填写,这样其他人就无法访问了。
「Python」利用高德地图做你想做之事
- 2.阅读API文档,使用API文档。接下来搜索部分进行一定的讲解。
「Python」利用高德地图做你想做之事
首先它有一个超好用的功能,点击运行就会出现查询的信息。
「Python」利用高德地图做你想做之事
运行结果。。。
「Python」利用高德地图做你想做之事
当然你也可以这样,在网页中直接打开。在返回的json数据中可以看到我们可以得到一些重要信息。
「Python」利用高德地图做你想做之事
对照上方的请求参数和,返回结果我们基本上可以自己DIY了。
「Python」利用高德地图做你想做之事
「Python」利用高德地图做你想做之事
利用高德地图API,我们这样就可以进行数据爬取。
最后在放一个百度地图的API,http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-placeapi,两者之间相互结合想必也是不容小觑。想想都激动。
「Python」利用高德地图做你想做之事
当然,想在rhino内部运行爬去数据还是有一定困难的,你可以用最新的支持python3的gpython。当然我还是喜欢用编译器整这件事。
先来两个python库文档。requsets http://docs.python-requests.org/zh_CN/latest/user/quickstart.html. BeautifulSouphttps://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html 。实在不行就B站。
下面是代码时间,爬去一下郑州的美食,为什么是郑州,你猜。
「Python」利用高德地图做你想做之事
「Python」利用高德地图做你想做之事
爬去的结构化数据
「Python」利用高德地图做你想做之事
「Python」利用高德地图做你想做之事
有了数据我们之后就可以统计画图,比如这附近的餐厅以什么为主,是川菜还是湘菜。各个餐馆做的最多的是什么,当然你也可以爬去一些其他数据比如宾馆呦。这篇文章有点水,但主要是展示一下如何使用API爬去数据。
最后,想学习Python的小伙伴们!
请关注+私信回复:“学习”就可以拿到一份我为大家准备的Python学习资料!
pytyhon学习资料
python学习资料