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: 教育培训;高等院校
...

相关文章
|
1月前
|
C语言 Python
python 调用c接口
【10月更文挑战第12天】 ctypes是Python的一个外部库,提供和C语言兼容的数据类型,可以很方便地调用C DLL中的函数
49 0
|
2月前
|
Python
下载python所有的包 国内地址
下载python所有的包 国内地址
|
27天前
|
数据采集 JSON 数据处理
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
抓取和分析JSON数据:使用Python构建数据处理管道
|
23天前
|
数据采集 Python
python爬虫抓取91处理网
本人是个爬虫小萌新,看了网上教程学着做爬虫爬取91处理网www.91chuli.com,如果有什么问题请大佬们反馈,谢谢。
28 4
|
25天前
|
数据采集 Java Python
如何用Python同时抓取多个网页:深入ThreadPoolExecutor
在信息化时代,实时数据的获取对体育赛事爱好者、数据分析师和投注行业至关重要。本文介绍了如何使用Python的`ThreadPoolExecutor`结合代理IP和请求头设置,高效稳定地抓取五大足球联赛的实时比赛信息。通过多线程并发处理,解决了抓取效率低、请求限制等问题,提供了详细的代码示例和解析方法。
如何用Python同时抓取多个网页:深入ThreadPoolExecutor
|
1月前
|
JSON 缓存 API
在 Python 中使用公共类处理接口请求的响应结果
在 Python 中使用公共类处理接口请求的响应结果
30 1
|
1月前
|
存储 自然语言处理 API
基于 Python 的地址解析:自动识别姓名、电话、地址、详细地址与省市区
基于 Python 的地址解析:自动识别姓名、电话、地址、详细地址与省市区
177 1
|
2月前
|
数据采集 存储 JavaScript
构建您的第一个Python网络爬虫:抓取、解析与存储数据
【9月更文挑战第24天】在数字时代,数据是新的金矿。本文将引导您使用Python编写一个简单的网络爬虫,从互联网上自动抓取信息。我们将介绍如何使用requests库获取网页内容,BeautifulSoup进行HTML解析,以及如何将数据存储到文件或数据库中。无论您是数据分析师、研究人员还是对编程感兴趣的新手,这篇文章都将为您提供一个实用的入门指南。拿起键盘,让我们开始挖掘互联网的宝藏吧!
|
1月前
|
IDE API 定位技术
Python--API编程:IP地址翻译成实际的物理地址
Python--API编程:IP地址翻译成实际的物理地址
|
6天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。