玩grasshopper基本上都知道OpenStreetMap 这个地图网站,毕竟有一个好用的地图插件,可以在Rhino中绘制出所需,但是一个不好的地方就在于国内的数据量太少,无法满足我们的需求。
此次所讲的高德地图基本上可以解决我们的痛点,当然百度地图也可以哦。涉及知识主要是python爬去数据,俗称爬虫,设计到的函数库为request和beautifulsoup。当然我刚开始玩,所以可能多有不对。
下面是基本流程:
下面详细流程中一些重点节点部位。
1.不要将你的密钥进泄露,白名单可以不进行填写,这样意味这所有的IP地址都可以访问,当然也可以查阅你自己的IP地址进行填写,这样其他人就无法访问了。
「Python」利用高德地图做你想做之事
2.阅读API文档,使用API文档。接下来搜索部分进行一定的讲解。
「Python」利用高德地图做你想做之事
首先它有一个超好用的功能,点击运行就会出现查询的信息。
「Python」利用高德地图做你想做之事
运行结果。。。
「Python」利用高德地图做你想做之事
当然你也可以这样,在网页中直接打开。在返回的json数据中可以看到我们可以得到一些重要信息。
「Python」利用高德地图做你想做之事
对照上方的请求参数和,返回结果我们基本上可以自己DIY了。
「Python」利用高德地图做你想做之事
「Python」利用高德地图做你想做之事
利用高德地图API,我们这样就可以进行数据爬取。
「Python」利用高德地图做你想做之事
当然,想在rhino内部运行爬去数据还是有一定困难的,你可以用最新的支持python3的gpython。当然我还是喜欢用编译器整这件事。
下面是代码时间,爬去一下郑州的美食,为什么是郑州,你猜。
「Python」利用高德地图做你想做之事
「Python」利用高德地图做你想做之事
爬去的结构化数据
「Python」利用高德地图做你想做之事
「Python」利用高德地图做你想做之事
有了数据我们之后就可以统计画图,比如这附近的餐厅以什么为主,是川菜还是湘菜。各个餐馆做的最多的是什么,当然你也可以爬去一些其他数据比如宾馆呦。这篇文章有点水,但主要是展示一下如何使用API爬去数据。