这是一个简单的百度地图poi的爬取
(自行申请好服务端的AK码)
import requests
import json
def get_poi_data(api_key, query, region):
url = "http://api.map.baidu.com/place/v2/search"
params = {
"query": query, # 兴趣点关键词
"region": region, # 检索区域,可以是城市名或经纬度坐标
"output": "json", # 输出格式为json
"ak": api_key # 您的百度地图API密钥
}
try:
response = requests.get(url, params=params)
data = response.json()
if data["status"] == 0: # 状态码为0表示请求成功
return data["results"] # 返回POI数据列表
else:
print("Error:", data["message"])
return None
except Exception as e:
print("Exception:", e)
return None
# 使用示例
if __name__ == "__main__":
# 输入您的百度地图API密钥
api_key = "Your_Baidu_Map_API_Key"
# 输入查询关键词和检索区域
query = "餐厅" # 搜索关键词,例如餐厅、商场、医院等
region = "北京市" # 检索区域,可以是城市名或经纬度坐标
# 调用函数获取POI数据
poi_data = get_poi_data(api_key, query, region)
if poi_data:
print("POI Data:")
for poi in poi_data:
print(poi)
else:
print("Failed to retrieve POI data.")