获取百度地图POI数据一(详解百度返回的POI数据)

       POI是一切能够抽象为空间点的现实世界的实体,好比餐馆,酒店,车站,停车场等。POI数据具备空间坐标和各类属性,是各类地图查询软件的基础数据之一。百度地图做为国内顶尖的地图企业,其上具备丰富的POI数据,要获取其上的POI数据能够根据百度地图提供的API,可是这种方式有限制,能获取的数据极少。本文将详细介绍经过模拟HTTP请求的方式获取其上的POI数据。web

      当咱们在百度地图的搜索框中经过输入关键字进行搜索时,这其实就是发送一个HTTP请求到百度的服务器,而后服务器返回数据。json

 

  打开网页的调试面板能够清楚的看到这些请求  以及服务器返回的数据   这些数据都是JSON格式的   在地址栏中输入请求的url  http://map.baidu.com/?newmap=1&reqflag=pcmap&biz=1&from=webmap&da_par=direct&pcevaname=pc4.1&qt=s&da_src=searchBox.button&wd=%E4%BA%BA%E5%90%8D%E5%B9%BF%E5%9C%BA&c=289&src=0&wd2=&sug=0&l=17&b=(13522376.995,3640442.635;13522548.995,3641718.635)&from=webmap&biz_forward={%22scaler%22:1,%22styles%22:%22pl%22}&sug_forward=&tn=B_NORMAL_MAP&nn=0&u_loc=13506522,3642064&ie=utf-8&t=1500039457397  服务器

以后便能看到返回的JSON数据  将这些JSON文本复制到JSON在线校验的网站(如 www.json.cn)上能够更清楚的看到其中的信息网站

  

 

 如上图所示   一个url返回这样一些数据  我提取的是其中content节点中的数据   在这个节点中  一个url最多返回十条数据  一条数据中包含不少个子节点数据  其中 编码

x,y节点中的数据能够用来获取这条数据的坐标信息    百度的坐标系统有百度米制坐标和百度经纬度坐标   从x,y节点数据通过转换便可得到这两个坐标,这个在稍后的会讲解。url

要想经过程序模拟构建url来发送http请求  就须要先了解url的参数构成   通过本人的屡次尝试  将url参数减小为spa

http://map.baidu.com/?newmap=1&reqflag=pcmap&biz=1&from=webmap&da_par=direct&pcevaname=pc4.1&qt=s&da_src=searchBox.button&wd=人民广场&c=289&pn=0调试

最重要的就是最后三个参数  wd是搜索的关键词   c是搜索区域对应的城市编码,上海市对应的就是289  pn是返回数据的页码  不一样的搜索关键词返回的数据的页数是不一样的   由于百度会返回不少相关的信息(POI数据)blog

我是经过关键词获得百度百度返回的POI数据的   这就须要在url的参数中输入不一样的关键词和页码来获取不一样的POI数据    那么事先就应该准备不少搜索的关键词 尽量多的关键词能够获取更多的POI 数据       下篇会讲解该如何准备百万级别的搜索关键字utf-8

相关文章
相关标签/搜索