python爬取高德poi数据
时间: 2023-11-24 14:50:26 浏览: 99
以下是使用Python爬取高德POI数据的步骤:
1. 导入必要的库,如requests、pandas等。
2. 构造请求URL,包括高德开放平台的API Key、城市名称、POI类型、每页记录数、当前页数等参数。
3. 发送HTTP请求,获取响应数据。
4. 解析响应数据,提取需要的POI信息。
5. 将POI信息存储到本地文件或数据库中。
下面是一个简单的示例代码,用于爬取北京市某一类POI的数据并保存到CSV文件中:
```python
import requests
import pandas as pd
# 构造请求URL
url = 'https://restapi.amap.com/v3/place/text'
params = {
'key': 'your_api_key',
'keywords': '酒店',
'city': '北京',
'offset': 20,
'page': 1,
'output': 'JSON'
}
# 发送HTTP请求
response = requests.get(url, params=params)
data = response.json()
# 解析响应数据
pois = data['pois']
df = pd.DataFrame(pois)
df = df[['name', 'location', 'address', 'tel']]
# 存储到CSV文件中
df.to_csv('hotels.csv', index=False)
# 去重
df = df.drop_duplicates(subset='唯一ID', keep='last')
# 写入文件
with open('hotels.txt', 'w', encoding='utf-8') as fnew:
for r in df.values:
count = len(r[2])
fnew.write(str(r[0])+','+str(r[1])+'|'+str(r[2])+','+str(r[3])+'\t'+str(count)+'\n')
```