当我们日常使用地图APP或者在网页上浏览地图信息的时候,会不会有一种想把地图信息直接抓取下来的想法呢?一般做分析的都想这么干啦,而地图服务商也开放了api接口,你们这些爬爬们不要再用乱七八糟的方式ping我的服务器了,老老实实的用api吧。
本文仅以baiduMap和tencentMap为例,其他接口也大同小异,请自行处理。
先介绍一下具体爬取的思路。
①先思考一下自己的需求内容,这点很重要,因为各大地图服务商给出的api请求次数是有限制的,如何简化流程,直接关系到用量问题。
②申请token(令牌),制作请求链接(request_url)
③接入后的异常处理
④返回值处理(主要是json格式)
⑤清洗及保存数据
⑥数据展示(echart,ExcelPowermap...ect)
一、工作原理及优化流程。
万事开头难,开了头什么都好办。先给出百度地图和腾讯地图的文档地址
百度地图 点击打开链接
腾讯地图 点击打开链接
两个api都是基于HTTP协议的数据接口,也就是说,我们本地的客户端发出一个http请求,地图api返回一个响应报文,具体格式有josn和xml,2种格式各有用途,我们这里由于是数据采集,为了方便,直接使用json格式返回,数据格式为json的数据返回后,我们使用Python自带的json库解析数据,使之成为一个多层的字典,从而方便数据处理。</