不管是目前什么行业,对数据分析和做出合适的判断才是最重要的选择,比如,在某一个城市开一家餐馆,可以去了解这个城市目前一共有多少餐馆,分别那种菜系占比最多,大概菜系的分布范围等等信息,都可以通过爬虫的数据获得更好的分析和抉择。
总结步骤如下:
到高德开放平台 | 高德地图API注册账号,并且申请web服务的AK密钥,每次发送请求需要带着这个key去认证。注册账号登陆后点击右上角的控制台 ->应用管理 -> 创建应用 -> 添加新key,注意选择web api,就得到了一个可以使用web服务的key密钥。
查找高德地图提供的web api下的搜索模块使用API文档开发指南
之前本人试过通过高德地图中的搜索页面搜索功能,不输入key,但是访问次数有一定的限制,就会让输入拼图验证
这种方法不可取只能去注册key,然后去获得需要的数据
关于高德地图信息抓取,我们根据高德地图搜索POI文档 ,简单的说下两种比较实用的方法
第一种 多边形搜索
多边形搜索需要在地图上绘制经度和纬度用","分割,经度在前,纬度在后,坐标对用"|"分割。经纬度小数点后不得超过6位。 多边形为矩形时,可传入左上右下两顶点坐标对;其他情况下首尾坐标对需相同
示例:
如上图四个marker点,调用高德地图POI搜索功能即可搜索这个片区内的数据信息
测试接口:
https://restapi.amap.com/v3/place/polygon?polygon=108.875542,34.193769|108.880032,34.193724|108.880038,34.191466|108.875633,34.191399|108.875542,34.193769&key=<自己的Key>
可传入keywords和types,当keywords和types为空的时候, 会默认指定types为120000(商务住宅)&150000(交通设施服务)
查询POI类型下载POI分类编码和城市编码表
POI分类编码部分截图
由此可见,可以根据需要的菜系类型查找某一地区菜系的分布效果
返回数据格式:
名称 |
含义 |
规则说明 | |||
---|---|---|---|---|---|
status |
结果状态值,值为0或1 |
0:请求失败;1:请求成功 |
|||
info |
返回状态说明 |
status为0时,info返回错误原因,否则返回“OK”。详情参阅info状态表 |
|||
count |
搜索方案数目(最大值为1000) |
||||
suggestion |
城市建议列表 |
当用户输入的词语为泛搜索词的时候,将显示城市列表 |
|||
keywords |
唯一ID |
||||
cities |
城市列表 |
||||
name |
名称 |
||||
num |
该城市包含此关键字的个数 |
||||
citycode |
该城市的citycode |
||||
adcode |
该城市的adcode |
||||
pois |
搜索POI信息列表 |
||||
poi |
POI信息 |
||||
id |
唯一ID |
||||
parent |
父POI的ID |
当前POI如果有父POI,则返回父POI的ID。可能为空 |
|||
name |
名称 |
||||
type |
兴趣点类型 |
顺序为大类、中类、小类 例如:餐饮服务;中餐厅;特色/地方风味餐厅 |
|||
typecode |
兴趣点类型编码 |
例如:050118 |
|||
biz_type |
行业类型 |
||||
address |
地址 |
东四环中路189号百盛北门 |
|||
location |
经纬度 |
格式:X,Y |
|||
distance |
离中心点距离 |
单位:米 必须说明, 此结果仅在周边搜索的时候有值 |
|||
tel |
该POI的电话 |
||||
postcode |
邮编 |
extensions=all的时候显示 |
|||
website |
该POI的网址 |
extensions=all的时候显示 |
|||
|
该POI的电子邮箱 |
extensions=all的时候显示 |
|||
pcode |
poi所在省份编码 |
extensions=all的时候显示 |
|||
pname |
poi所在省份名称 |
若是直辖市的时候,此处直接显示市名,例如北京市 |
|||
citycode |
城市编码 |
extensions=all的时候显示 |
|||
cityname |
城市名 |
若是直辖市的时候,此处直接显示市名,例如北京市 |
|||
adcode |
区域编码 |
extensions=all的时候显示 |
|||
adname |
区域名称 |
区县级别的返回,例如朝阳区 |
|||
entr_location |
入口经纬度 |
extensions=all的时候显示 |
|||
exit_location |
出口经纬度 |
extensions=all的时候显示 |
|||
navi_poiid |
地图编号 |
extensions=all的时候显示 |
|||
gridcode |
地理格ID |
extensions=all的时候显示 |
|||
alias |
别名 |
extensions=all的时候显示 |
|||
business_area |
所在商圈 |
extensions=all的时候显示 |
|||
parking_type |
停车场类型 |
仅在停车场类型POI的时候显示该字段 展示停车场类型,包括:地下、地面、路边 extensions=all的时候显示 |
|||
tag |
该POI的特色内容 |
主要出现在POI为美食类的POI之中出现,此时代表特色菜 例如“烤鱼,麻辣香锅,老干妈回锅肉”
在其余POI类别的时候,会有小概率出现,此时代表此POI的特色内容 例如北京-第五季花艺 之中的“岁月静好,定情,如意花卡,圣诞之爱”
仅在extensions=all |
|||
indoor_map |
是否有室内地图标志 |
1,表示有室内相关数据 0,代表没有室内相关数据 extensions=all的时候显示 |
|||
indoor_data |
室内地图相关数据 |
当indoor_map=0时,字段为空 extensions=all的时候显示 |
|||
cpid |
当前POI的父级POI |
如果当前POI为建筑物类POI,则cpid为自身POI ID;如果当前POI为商铺类POI,则cpid为其所在建筑物的POI ID |
|||
floor |
楼层索引 |
一般会用数字表示,例如8 |
|||
truefloor |
所在楼层 |
一般会带有字母,例如F8 |
|||
groupbuy_num |
团购数据 |
此字段逐渐废弃 |
|||
business_area |
所属商圈 |
extensions=all的时候显示 |
|||
discount_num |
优惠信息数目 |
此字段逐渐废弃 |
|||
biz_ext |
深度信息 |
extensions=all的时候显示 |
|||
rating |
评分 |
仅存在于餐饮、酒店、景点、影院类POI之下 |
|||
cost |
人均消费 |
仅存在于餐饮、酒店、景点、影院类POI之下 |
|||
meal_ordering |
是否可订餐 |
仅存在于餐饮相关POI之下(此字段逐渐废弃) |
|||
seat_ordering |
是否可选座 |
仅存在于影院相关POI之下(此字段逐渐废弃) |
|||
ticket_ordering |
是否可订票 |
仅存在于景点相关POI之下(此字段逐渐废弃) |
|||
hotel_ordering |
是否可以订房 |
仅存在于酒店相关POI之下(此字段逐渐废弃) |
|||
photos |
照片相关信息 |
extensions=all的时候显示 |
|||
titile |
图片介绍 |
||||
url |
具体链接 |
弊端:
调用次数有限制,只有2000次免费调用次数,可以购买次数
第二种:关键字搜索
通过用POI的关键字进行条件搜索,例如:肯德基、朝阳公园等;同时支持设置POI类型搜索,例如:银行查询城市
可选值:城市中文、中文全拼、citycode、adcode
如:北京/beijing/010/110000
填入此参数后,会尽量优先返回此城市数据,但是不一定仅局限此城市结果,若仅需要某个城市数据请调用citylimit参数。
如:在深圳市搜天安门,返回北京天安门结果。
规则:只支持单个关键词语搜索关键词支持:行政区名称、citycode、adcode
例如,在subdistrict=2,搜索省份(例如山东),能够显示市(例如济南),区(例如历下区)
例子:
https://restapi.amap.com/v3/place/text?keywords=&city=610115000000&offset=20&page=1&key=<自己的key>
部分数据存储:
这两个方法的实现大致相同,只是请求不同的URL地址
原文:https://www.cnblogs.com/zhaixingzhu/p/12562910.html