使用百度地图api采集兴趣点数据
来源:互联网 发布:mac系统删除软件 编辑:程序博客网 时间:2024/04/29 11:00
使用百度地图api采集兴趣点数据
比如,我们想要采集医院的数据信息,主要包括经纬度坐标和电话等信息。
首先,我们需要注册百度开发账号,然后创建应用,会得到ak码,在访问数据时需要这个参数。
然后,需要使用requests包,通过request = requests.get(url,params=params) 可以请求到数据
最后,解析请求到的json数据并保存。
json数据格式如下:
{ "status":0, "message":"ok", "total":228, "results":[ { "name":"辽中县新华医院", "location":{ "lat":41.518185, "lng":122.743932 }, "address":"北一路57号", "street_id":"4a25f3d22e0206b428201a39", "telephone":"(024)62308120", "detail":1, "uid":"4a25f3d22e0206b428201a39" } ……}
完整的代码如下:
import requestsimport jsonimport pandas as pddef request_hospital_data(): ak="xxxxxxxxxxx" # 换成自己的 AK,需要申请 url = "http://api.map.baidu.com/place/v2/search?query=医疗&page_size=20&scope=1®ion=辽中&output=json&ak="+ak params = {'page_num':0} # 请求参数,页码 request = requests.get(url,params=params) # 请求数据 total = json.loads(request.text)['total'] # 数据的总条数 # print(total) total_page_num = (total+19) // 20 # 每个页面大小是20,计算总页码 items = [] # 存放所有的记录,每一条记录是一个元素 for i in range(total_page_num): params['page_num'] = i request = requests.get(url,params=params) for item in json.loads(request.text)['results']: name = item['name'] lat = item['location']['lat'] lng = item['location']['lng'] address = item.get('address', '') street_id = item.get('street_id', '') telephone = item.get('telephone', '') detail = item.get('detail', '') uid = item.get('uid', '') # print(name, lat, lng, address, street_id, telephone, detail, uid) new_item = (name, lat, lng, address, street_id, telephone, detail, uid) items.append(new_item) # 使用pandas的DataFrame对象保存二维数组 df = pd.DataFrame(items, columns=['name', 'lat', 'lng', 'adderss', 'street_id', 'telephone', 'detail', 'uid']) df.to_csv('liaozhong_hospital_info.csv', header=True, index=False)request_hospital_data()
最终可以得到如下的数据:
此外,我们可以将url中的query参数换其它兴趣点类别,就能获得相应的数据。
比如,query=住宅区,这样可以获取到住宅区的数据。
兴趣点的类别如以下
它的地址是 http://lbsyun.baidu.com/index.php?title=lbscloud/poitags
阅读全文
1 0
- 使用百度地图api采集兴趣点数据
- 百度地图兴趣点检索
- 百度地图之周边兴趣点搜索
- 百度地图兴趣点抓取工具
- 使用Python和地图api进行地图数据采集
- 使用Python从百度地图上批量下载兴趣点(POI)
- [011] 百度地图API之POI搜索-发现你身边的兴趣点,如超市、餐厅、ATM...(Android)
- 百度地图API之POI搜索-发现你身边的兴趣点,如超市、餐厅、ATM...(Android)
- [011] 百度地图API之POI搜索-发现你身边的兴趣点,如超市、餐厅、ATM...(Android) .
- 百度地图API之POI搜索-发现你身边的兴趣点,如超市、餐厅、ATM...(Android) .(11)
- 百度地图API之POI搜索-发现你身边的兴趣点,如超市、餐厅、ATM...(Android)
- [011] 百度地图API之POI搜索-发现你身边的兴趣点,如超市、餐厅、ATM...(Android)
- 百度地图API之POI搜索-发现你身边的兴趣点,如超市、餐厅、ATM...(Android)
- 百度地图API相关点
- 百度地图API描点
- 百度地图SDK for Android【Demo兴趣点搜索】
- 百度地图SDK for Android【Demo兴趣点搜索】
- android实现进入百度地图后自动显示兴趣点
- 20170814_虚函数的详解
- java IO笔记(ByteArrayInputStream/ByteArrayOutputStream)
- jquery之validate插件
- 【dfs】hdu 6113 度度熊的01世界
- 深入分析Java的序列化与反序列化
- 使用百度地图api采集兴趣点数据
- Codeforces Round #428 (Div. 2) D. Winter is here(序列元素个数*gcd
- poj 2104 可持久化线段树 区间K大 不修改
- 百度前端技术学院_斌斌学院_task02
- conda创建的虚拟环境中使用jupyter notebook如何关闭
- Hive 之 分区表 外部分区表 关联查询
- Android开发之利用MQTT协议实现消息的即时推送
- html dom父节点,子节点,兄弟节点
- PHP学习笔记——php运行坏境的下载安装,php运行坏境的介绍(下)