资源简介
python代码,爬虫爬取高德地图POI数据,先注册高德个人账户,获取所需要的key,替代代码中的key,然后更改省市,更改想要的数据类型,python运行即可得到xlse数据
代码片段和文件信息
from urllib.parse import quote
from urllib import request
import json
import xlwt
#TODO 替换为上面申请的密钥
amap_web_key = ‘7eebc6ea2ce063c882284e1cc551de59‘
poi_search_url = “http://restapi.amap.com/v3/place/text“
poi_boundary_url = “https://ditu.amap.com/detail/get/detail“
#from transCoordinateSystem import gcj02_to_wgs84
#TODO cityname为需要爬取的POI所属的城市名,nanning_areas为城市下面的所有区,classes为多个分类名集合. (中文名或者代码都可以,代码详见高德地图的POI分类编码表)
cityname = ‘周口‘
nanning_areas = [‘川汇区‘]
classes = [‘高中‘‘医院‘‘公园‘‘小学‘]
# 根据城市名称和分类关键字获取poi数据
def getpois(cityname keywords):
i = 1
poilist = []
while True: # 使用while循环不断分页获取数据
result = getpoi_page(cityname keywords i)
result = json.loads(result) # 将字符串转换为json
if result[‘count‘] == ‘0‘:
break
hand(poilist result)
i = i + 1
return poilist
# 数据写入excel
def write_to_excel(poilist cityname classfield):
# 一个Workbook对象,这就相当于创建了一个Excel文件
book = xlwt.Workbook(encoding=‘utf-8‘ style_compression=0)
sheet = book.add_sheet(classfield cell_overwrite_ok=True)
# 第一行(列标题)
sheet.write(0 0 ‘x‘)
sheet.write(0 1 ‘y‘)
sheet.write(0 2 ‘count‘)
sheet.write(0 3 ‘name‘)
for i in range(len(poilist)):
location = poilist[i][‘location‘]
name = poilist[i][‘name‘]
lng = str(location).split(““)[0]
lat = str(location).split(““)[1]
评论
共有 条评论