利用宇宙最牛人工智能ChatGPT,帮你爬取百度POI,并处理成CSV
# 利用宇宙最牛人工智能 ChatGPT,帮你爬取百度 POI,并处理成 CSV
# 前言
每到毕业季,地信学生写论文的时候,都需要大量的数据进行分析,而最常用的就是点位数据,或者说 POI(感兴趣点)。学校、医院、公共厕所……可达性分析、适应性评价等等都是地信学子经久不衰的论文主题【咳咳
那么我们怎么才能获取这些 POI 点呢?
传统方法是拿着 GNSS 设备实地去采集,这个我们通常称之为外业。外业采集比较耗时耗力,在非必要情况下这是不划算的。所以我们可以借助现有的数据,如高德、百度等知名的地图服务提供商来获取数据。
# ChatGPT
ChatGPT 作为最近最火的人工智能,我们也来试一下能不能解决这个需求。
准备好账号,向 ChatGPT 提问:
如何使用 python 获得中国百度地图的 API 数据并输出 csv 文件
回答如下:
要使用 Python 获得中国百度地图的 API 数据并输出到 CSV 文件中,可以按照以下步骤进行:
- 安装必要的 Python 库。在终端中输入以下命令来安装所需的库:
pip install requests pandas
1其中,requests 库用于发送 HTTP 请求,pandas 库用于处理数据和生成 CSV 文件。
注册百度地图开发者账号,创建应用并获取相应的 API 密钥。
构造 API 请求的 URL,并发送 HTTP 请求。代码示例如下:
import requests import pandas as pd url = 'http://api.map.baidu.com/telematics/v3/weather?location=北京&output=json&ak=你的API密钥' response = requests.get(url) data = response.json()
1
2
3
4
5
6这段代码发送了一个 GET 请求,并将返回的 JSON 数据转换为 Python 的字典对象
data
。
- 解析 JSON 数据并提取所需数据。由于返回的 JSON 数据是嵌套的,需要使用嵌套字典的方式来访问所需的数据。例如,要提取城市名称和 PM2.5 指数,可以使用以下代码:
city = data['results'][0]['currentCity'] pm25 = data['results'][0]['pm25']
1
2这里假设返回的 JSON 数据中只包含一个城市的信息,如果有多个城市则需要进行循环遍历。
- 将提取的数据保存到 CSV 文件中。可以使用 pandas 库创建一个 DataFrame 对象,并使用 to_csv 方法将数据保存到 CSV 文件中。代码示例如下:
df = pd.DataFrame({'City': [city], 'PM2.5': [pm25]}) df.to_csv('weather.csv', index=False)
1
2这里创建了一个 DataFrame 对象,并将城市名称和 PM2.5 指数作为列数据,然后使用 to_csv 方法将数据保存到名为
weather.csv
的文件中,index=False
表示不保存行索引。以上是获取百度地图 API 数据并输出到 CSV 文件的基本步骤,具体的 API 参数和返回数据格式可能会有所不同,需要根据具体 API 文档进行调整。