地点检索服务
地点检索服务(又名Place API)是一类Web API接口服务;
服务提供多种场景的地点(POI)检索功能,包括城市检索、圆形区域检索、矩形区域检索。开发者可通过接口获取地点(POI)基础或详细地理信息。

百度地图服务文档

import os
import requests
import json
import time# query  检索关键字。行政区划区域检索不支持多关键字检索。如果需要按POI分类进行检索,请将分类通过query参数进行设置,如query=美食
# tag   检索分类偏好,与q组合进行检索,多个分类以","分隔(POI分类),如果需要严格按分类检索,请通过query参数设置
# region    检索行政区划区域(增加区域内数据召回权重,如需严格限制召回数据在区域内,请搭配使用city_limit参数),可输入行政区划名或对应cityCode
# city_limit    区域数据召回限制,为true时,仅召回region对应区域内数据
# extensions_adcode   是否召回国标行政区划编码,true(召回)、false(不召回)
# output    输出格式为json或者xml
# scope 检索结果详细程度。取值为1 或空,则返回基本信息;取值为2,返回检索POI详细信息
# coord_type    坐标类型,1(wgs84ll即GPS经纬度),2(gcj02ll即国测局经纬度坐标),3(bd09ll即百度经纬度坐标),4(bd09mc即百度米制坐标)注:"ll为小写LL"
# ret_coordtype 可选参数,添加后POI返回国测局经纬度坐标
# page_size 单次召回POI数量,默认为10条记录,最大返回20条。多关键字检索时,返回的记录数为关键字个数*page_size。 int
# page_num  分页页码,默认为0,0代表第一页,1代表第二页,以此类推。常与page_size搭配使用,仅当返回结果为poi时可以翻页。
# ak    开发者的访问密钥,必填项。v2之前该属性为key。def get_info(ak):# 获取poi相关信息info_all = []  # 用来存取未解析的数据page = 0  # 用于翻页flag = True  # 设置标志,判断是否到了页尾,用于退出循环while flag:url = 'https://api.map.baidu.com/place/v2/search?query=公园&tag=旅游景点&region=惠州市&output=json' \f'&ak={ak}&page_size=20&page_num={page}&scope=2&city_limit=true&coord_type=1'content = requests.get(url).content.decode('utf-8')  # 发送get请求,获取数据# JSON 数据解析:https://www.runoob.com/python3/python3-json.htmldic = json.loads(content)  # 因为接收的数据是json字符串格式,所以把它转为字典格式if dic['total'] == 0:  # 若为0,说明到页尾了,将flag设为False,以退出循环flag = Falsecontinueinfo = dic['results']info_all = info_all + info  # 拼接列表,也就是把每页的未解析的数据加到列表里page += 1  # 翻页time.sleep(1)  # 避免程序访问百度链接出现高并发状态print(f"第{page}页...")return info_all  # 返回所有未解析的数据def save_info(info_all):# 解析数据并保存信息path = '惠州市公园数据.txt'# a模式:打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。with open(path, 'w') as f:  # 打开文件# 字符串 join()方法:  https://www.runoob.com/python3/python3-string-join.htmls = '       '  # 连接符# 下面对应内容 纬度 经度 标签 城市 区域 地址 名称 UID 百度地图链接seq = s.join(['lat', 'lng', 'tag', 'city', 'area', 'address', 'name', 'uid', 'detail_url'])# File write() 方法: https://www.runoob.com/python3/python3-file-write.htmlf.write(seq + '\n')  # 写入文件内容for row in range(len(info_all)):# 字典:https://www.runoob.com/python3/python3-dictionary.html# data各个子项就是提取字典里的数据data = [str(info_all[row]['location']['lat']),str(info_all[row]['location']['lng']),info_all[row]['detail_info']['tag'],info_all[row]['city'],info_all[row]['area'],info_all[row]['address'],info_all[row]['name'],info_all[row]['uid'],info_all[row]['detail_info']['detail_url']]line = s.join(data) + '\n'f.write(line)print("保存完毕!")def main():# 主函数ak = input("请输入您的ak:")if len(ak) == 32:  # 判断输入的ak长度是否符合要求info_all = get_info(ak)  # 获取未解析的数据信息save_info(info_all)  # 解析并保存else:print("请确认Ak输入无误后,再重新尝试!")if __name__ == '__main__':# 程序从这里开始运行main()

Python | 百度POI获取相关推荐

  1. python 爬取全量百度POI

    在网上找了很多关于爬取百度POI的文章,但是对"全量"的做法并没有得到最终的解决方案,自己写了一个,但还是不能实现全量POI抓取,能够达到至少50%的信息抓取. 注意:这里所指&q ...

  2. python 获取天气_Python实现从百度API获取天气的方法

    本文实例讲述了Python实现从百度API获取天气的方法.分享给大家供大家参考.具体实现方法如下: __author__ = 'saint' import os import urllib.reque ...

  3. python批量请求url_使用Python Requests伪装成浏览器请求百度360获取关键词批量排名...

    使用Python Requests伪装成浏览器请求百度360获取关键词批量排名 #!/usr/local/python/bin/python3.7 import requests,re,time,ra ...

  4. python获取某地铁站经纬度_python基于百度地图获取指定的经纬度信息

    在实际做项目的时候经常会遇上需要使用到某个位置经纬度的情况,这个位置的经纬度经常又是没有的,那么就需要基于公开的数据去获取了,这里基于百度地图提供的API来完成指定位置经纬度数据的获取,实现很简单,主 ...

  5. 高德poi获取之矩形搜索法(冲出900条限制)

    文章目录 前言 查看API接口 基本思想 实现过程 构建一次举手函数 构建多次举手函数 构建保存函数 区域切分代码 代码详解 经纬度小数点问题 列表的知识 完整代码: 运行截图 功能更新 前言 据说高 ...

  6. 做动态图表没有数据?用Python就能获取

    来源 | 法纳斯特(ID:walker398) 刷爆全网的动态条形图,原来 5 行 Python 代码就能实现!这是小F在国庆之前写的一篇文章,既然有了Python这个制作动态条形图工具,缺的那便是数 ...

  7. python绘制动态图表怎么存下来_做动态图表,没有数据?用Python就能获取!

    这是小F在国庆之前写的一篇文章,全网阅读累计达到3万+. 既然有了Python这个制作动态条形图工具,缺的那便是数据了. 先看一下B站2019年「数据可视化」版块的情况,第一个视频超2百万的播放量,4 ...

  8. Android百度定位获取经纬度

    Android百度定位获取经纬度 一.百度定位误差问题:参考一片文章 http://blog.csdn.net/shaoyezhangliwei/article/details/44830301 1. ...

  9. python+百度地图 实现地址转换为经纬度(全网最简单方法)

    python+百度地图实现地址转换经纬度 前期准备 安装requests包 在百度地图开放平台申请AK 接下来进入正题 首先, AK使用方法 最后,上代码 前期准备 首先安装需要的库,requests ...

最新文章

  1. JDK相关版本特性浏览
  2. Hibernate+Spring-orm的基本方法总结
  3. 通过Application对象实现网站计数器
  4. 调用BAPI_MATERIAL_SAVEDATA批量创建/修改物料
  5. 解决vs.netIDE报以下文件中的行尾不一致,要将行尾标准化吗?的提示
  6. 的引用_java中的强引用,软引用,弱引用,虚引用
  7. 开发技术--设计模式
  8. Git和SourcesTree的安装
  9. ADO.NET五大对象详解(转)
  10. ubuntu配置vsftpd记录
  11. 小米球ngrok如何后台启动
  12. python爬虫之如何建立一个自己的代理IP池
  13. seaborn使用boxplot函数可视化箱图并基于分组均值或者中位数进行箱图升序(ascending)排序(Sort Boxplots in Ascending Order with Python)
  14. 卫星星座 - 2021 年行业调查和趋势 Satellite Constellations - 2021 Industry Survey and Trends阅读报告
  15. JAVA SE基础---kuangstudy
  16. 电脑无法连接WiFi(显示地球图标)
  17. java map集合详解_JAVA干货:Map 集合详解
  18. 在这个产品同质化比较严重的时代,这个局怎么破?
  19. 瑞昱RTL8201G(I)-VB-CG 规格应用--电口传输距离(500M)之王
  20. 酱狗的杂七杂八(叁)

热门文章

  1. linux下查看tomcat日志命令
  2. 三国志战略版:王元姬能否拯救结盟孙尚香?
  3. CentOS6.x环境通过yum命令在线安装或重装zookeeper-server
  4. python三位数水仙花数计算_python使用循环打印所有三位数水仙花数的实例
  5. 最小公倍数(C语言)
  6. 多线程5一AbstractQueuedSynchronizer源码分析一
  7. 2011年1月至2012年12月预言诗 ----二
  8. 六指按键,单指双控开镜开火吃鸡神器
  9. 电商网站需要更高的配置,如何把云虚拟主机升级到云服务器?
  10. 字符、字符串、字符流以及字符串函数的超详细讲解