「Python」利用高德地图做你想做之事

 

玩grasshopper基本上都知道OpenStreetMap 这个地图网站,毕竟有一个好用的地图插件,可以在Rhino中绘制出所需,但是一个不好的地方就在于国内的数据量太少,无法满足我们的需求。

此次所讲的高德地图基本上可以解决我们的痛点,当然百度地图也可以哦。涉及知识主要是python爬去数据,俗称爬虫,设计到的函数库为request和beautifulsoup。当然我刚开始玩,所以可能多有不对。

更多Python视频、源码、资料加群683380553免费获取

下面是基本流程:

  • 注册成为高德地图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爬去数据。

posted @ 2022-10-07 20:55  I'm_江河湖海  阅读(34)  评论(0编辑  收藏  举报