Python 高德地图POI信息爬取代码详解
2023-12-18 19:44:27
    		
1. 函数要点整理
get_amap_poi(city, keywords, page)
这个函数旨在从高德地图中提取指定城市的POI(Point of Interest)信息。以下是函数的参数和返回值说明:
-  参数: - city: 城市名称,指定要搜索的城市。
- keywords: 关键词,用于过滤POI,例如"公交站"。
- page: 返回POI的页码数,用于分页获取结果。
 
-  返回值: - 包含POI信息的列表。
 
2. 代码实现思路
- 构建高德地图Web API请求的URL。
- 替换api_key为你的高德地图Web API密钥。
- 定义请求参数,包括key(API密钥)、keywords、offset(偏移量)、page(页码数)、city(城市名称)、output(输出格式为json)。
- 使用requests.get发起GET请求。
- 解析响应,提取POI信息。
3. 整体代码(附加注释)
import requests
def get_amap_poi(city, keywords, page):
    """
    获取高德地图上指定城市的POI信息
    :param page: 返回poi的页码数
    :param city: 城市名称
    :param keywords: 关键词,例如"公交站"
    :return: POI信息的列表
    """
    amap_api_url = "https://restapi.amap.com/v3/place/text"
    # 替换为你的高德地图Web API Key
    api_key = "YOUR_WEB_API_KEY"
    # 请求参数
    params = {
        "key": api_key,
        "keywords": keywords,
        "offset": 1000,
        "page": page,
        "city": city,
        "output": "json"
    }
    # 发起请求
    response = requests.get(amap_api_url, params=params)
    result = response.json()
    # 提取POI信息
    if result["status"] == "1" and int(result["count"]) > 0:
        pois = result["pois"]
        return pois
    else:
        print("未找到符合条件的POI信息")
        return []
def main():
    city_name = "武汉市"  # 替换为目标城市
    keyword = "高等院校"
    page_num = 1
    pois = get_amap_poi(city_name, keyword, page_num)
    output_label = ['name', 'location', 'tel', 'pname', 'cityname', 'adname', 'address']
    if pois:
        for poi in pois:
            info = []
            for label in output_label:
                info.append(poi[label])
            print(info)
    else:
        print("未找到符合条件的POI信息")
if __name__ == "__main__":
    main()
4. 注意事项
- API密钥替换: 将api_key替换为你在高德地图开放平台注册应用后获得的API密钥。
- 城市名称: 在main函数中,将city_name替换为你希望搜索的城市名称或城市编码。
- 关键词: 在main函数中,将keyword替换为你希望搜索的关键词,例如"学校"、"医院"等。
- 输出字段: output_label定义了输出的字段,可以根据需要进行调整。确保这些字段在API返回的POI信息中存在。
- 编码表链接: 高德Web服务 API 相关POI编码与城市编码表
以上代码可用于爬取高德地图上指定城市的特定关键词POI信息。在使用时,请遵循高德地图API的使用规定,特别是保护个人信息和防止滥用API。
术语解释表格:
| 术语 | 解释 | 
|---|---|
| POI | Point of Interest,地理位置上感兴趣的点,如学校、医院等。 | 
| API | Application Programming Interface,应用程序编程接口,用于不同软件系统间的通信。 | 
| JSON | JavaScript Object Notation,一种数据交换格式。 | 
如果这对您有所帮助,希望点赞支持一下作者! 😊
 
 
  
 
  
 

    			文章来源:https://blog.csdn.net/ThsPool/article/details/135069367
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
    	本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!