• 大小: 3KB
    文件类型: .py
    金币: 2
    下载: 2 次
    发布日期: 2021-06-18
  • 语言: Python
  • 标签: daima  

资源简介

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]

 

评论

共有 条评论

相关资源