曾几何时,个人注册高德开发者即可拥有每日一万次免费配额调用,现如今,个人每日只能调用100次,即使额外购买了配额300元/10万次,也会因为短时间大量采集被封号。要想稳定采集,恐怕只有购买商业授权5万/年,这样每天有免费一万次配额,再额外购买配额进行采集。
本文基于假定有无尽配额情况描述。核心就是利用高德开放的api接口:多边形搜索。
调用接口后,即可获得返回数据,然后自行解析json
核心原理是调用高德api,剩下的难点就是多边形划分和高德api自身的问题了。
多边形划分很简单,通过高德自身的获取边界api或者自己在地图框选区域边界,来得到你要采集的城市或区域的多边形每个点位经纬度坐标。因为高德poi返回接口每次返回是有上限的(划重点,而且这个上限是随时变化的,现在上限越来越低了!),然后把这个多边形切分为无数个满足返回上限的小多边形(最简单方式即矩形),即可全部采集。
整个高德poi采集理论就是上述这些,接下来是实际操作中的难点。
高德poi返回接口返回数据是不完全的!!!
高德poi返回接口返回数据是不完全的!!!
高德poi返回接口返回数据是不完全的!!!
高德poi返回接口返回数据是不完全的!!!
多边形内存在的poi总点位数越多,返回时被高德筛选掉的总点位就越多,同时接口每次要求单次分页返回的值越多,实际得到的poi就越少!
通俗来说就是,如果我划分的矩形内有1000个poi点位,那么高德接口可能只会返回500个点位,同时接口参数有单次分页返回1-50个和第几个分页的设置,如果设置单次返回10个,那么实际得到的就是500个点位,如果设置单次返回50个,那么总共可能只会得到400个点位。
在2022年以前,高德大概一次最多返回800个点位,可能只会缺失百分之二三十,当设置矩形最大返回200个点位时,基本不会有缺失点位,设置一页返回50个点位也不会有缺失,即一次获取800个点位,只需要调用16次接口缺失两三成数据,如果追求完整近乎不缺失数据,也只需要调用25次左右接口。这也是不同完整度的高德poi数据对于调用接口次数成本不同的区别。
随后高德poi接口限制越来越多,返回值逐渐递减,截至2024年5月,不管是搜索返回的v1还是v2接口,一个矩形内最多返回200个不到的点位,同时每个分页返回20个点位才能保证无分页缺失,即要像之前一样获取800个点位,至少要调用50次接口。
如果还按照之前的参数设定去采集,一个100万poi点位的城市恐怖只能采集不到40万,按照现阶段想把100万点位采集90万点位以上,所需要消耗的接口配额次数也会是之前的两倍以上,同时免费配额无了导致总成本会是以前的数倍以上。
总之,通过限制接口及配额两种方法,高德成功增加了poi采集成本与难度,降低了poi的泄漏。做研究分析的话,也可以考虑大众点评的店铺数据,也相当于poi点位,与高德相辅相成。
接数据采集、数据治理、业务自动化脚本开发服务。
1、已有数据库及采集脚本:高德POI场所点位、大众点评店铺信息、前程无忧招聘信息、房天下写字楼出租数据、58同城商铺出租数据、各类新闻源标题及内容等。其余各类采集及治理可定制化开发。
2、各类业务流程、工作流程、Windows或linux下固定操作的自动化脚本开发,如电子书自动解压合成重命名、数据采集并自动发微信等。