Python编程:通过百度地图接口抓取机构的地址和电话信息

简介: Python编程:通过百度地图接口抓取机构的地址和电话信息

基本原理

1、百度地图开放了搜索接口

http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-placeapi

2、使用【地点检索】接口搜索商家的地址、电话等信息

3、基本使用流程

(1) 申请百度账号

(2) 申请成为百度开发者

(3) 获取服务密钥(ak)

(4) 发送请求,使用服务

代码示例

import requests
def baidu_map_search(key):
    # 注册->新建应用 http://lbsyun.baidu.com/
    apk_key = "xxxxxxxxxxxx"
    url = "http://api.map.baidu.com/place/v2/search"
    params = {
        "query": key,
        "output": "json",
        "ak": apk_key,
        "region": "北京",
        "page_size": 20,
        "page_num": 1,
        "scope": 2
    }
    response = requests.get(url, params)
    result = response.json()
    status = result.get("status")
    message = result.get("message")
    if status != 0 and status != 2:
        raise Exception(message)
    data = result.get("results", {})
    for row in data:
        item = {
            "name": row.get("name", ""),
            "address": row.get("address", ""),
            "province": row.get("province", ""),
            "city": row.get("city", ""),
            "area": row.get("area", ""),
            "telephone": row.get("telephone", ""),
            "tag": row.get("detail_info", {}).get("tag", ""),
        }
        for k, v in item.items():
            print("{}: {}".format(k, v))
if __name__ == '__main__':
    baidu_map_search("学校")

抓取结果

name: 中央民族大学
address: 北京市海淀区中关村南大街27号
province: 北京市
city: 北京市
area: 海淀区
telephone: (010)68933971
tag: 教育培训;高等院校
name: 北京科技大学
address: 北京市海淀区学院路30号
province: 北京市
city: 北京市
area: 海淀区
telephone: (010)62332312
tag: 教育培训;高等院校
...


相关文章
|
SQL 存储 人工智能
MyCat-架构剖析-核心技术之跨库 join 实现 | 学习笔记
快速学习 MyCat-架构剖析-核心技术之跨库 join 实现
MyCat-架构剖析-核心技术之跨库 join 实现 | 学习笔记
|
Java Windows
IDEA不使用lombok,如何快速生成get和set方法
【11月更文挑战第10天】在 IntelliJ IDEA 中生成 `get` 和 `set` 方法有多种方式:通过菜单操作、使用快捷键或自定义模板。菜单操作包括选择“Code”菜单中的“Generate...”,快捷键为“Alt + Insert”。自定义模板可在“File”->“Settings”->“Editor”->“Code Style”->“Java”中设置。批量生成时,可多选变量一次性生成。
2858 2
|
Java 数据库连接 API
Spring 框架的介绍(Java EE 学习笔记02)
Spring是一个由Rod Johnson开发的轻量级Java SE/EE一站式开源框架,旨在解决Java EE应用中的多种问题。它采用非侵入式设计,通过IoC和AOP技术简化了Java应用的开发流程,降低了组件间的耦合度,支持事务管理和多种框架的无缝集成,极大提升了开发效率和代码质量。Spring 5引入了响应式编程等新特性,进一步增强了框架的功能性和灵活性。
258 0
|
机器学习/深度学习 人工智能 分布式计算
构建基于AI的游戏AI系统:技术详解与实现
【6月更文挑战第4天】本文探讨了构建基于AI的游戏AI系统的详细过程,包括技术选型(如机器学习、深度学习、强化学习)、系统设计(感知层、决策层和执行层)、实现步骤(数据收集、模型训练、评估与优化)和优化策略(实时更新、多代理协同、迁移学习、持续学习)。通过合理选择技术和策略,可以创建高性能、适应性强的游戏AI系统,提升游戏体验并推动创新。
1135 3
|
SQL 缓存 关系型数据库
Mysql跨库操作
Mysql跨库操作
482 0
|
缓存 安全 Ubuntu
基于Alpine构建轻量级带有cURL功能的Docker镜像
基于Alpine构建轻量级带有cURL功能的Docker镜像
基于Alpine构建轻量级带有cURL功能的Docker镜像
|
存储 消息中间件 Linux
Linux——Docker安装及配置RocketMQ
Linux——Docker安装及配置RocketMQ
1760 1
|
算法 程序员 API
如何写一个合格的API文档
如何写一个合格的API文档
1893 0
如何写一个合格的API文档
|
图形学
3D游戏角色动画——Elaina(全流程人物建模)
要求把自选一个游戏人物+动物模型做一个完整的展示动画视频。具体要求包括: 给出游戏人物+动物模型的背景资料、设计思路,给出模型设计、道具设计和动作设计等前期设计文档。 以给出游戏人物+动物的基础模型或者图片,进行完整的模型重建过程。 对游戏人物+动物模型做出特效、头部、盔甲、服装、武器等方面修改。 要求对游戏人物+动物模型设定一组新的完整动作,其他请结合创意修改。 根据角色设计输出人物和动物模型的渲染动画,在片头中包括姓名/学号,片尾动作制作中间资料的展示。.........
906 0
3D游戏角色动画——Elaina(全流程人物建模)