admin管理员组

文章数量:1530281

一、关于高德地图

高德是中国领先的数字地图内容、导航和位置服务解决方案提供商。高德地图产品更多的还是我们查找位置和路线的一个工具,但实际上地图能够实现的层面还有很多,甚至是将现实的商家店铺以及场所搬至虚拟的地图上,然后每个地理位置对应的是一个POI点。这样一来,地图呈现的将不再是一张标有地理位置的图片,而是一个虚拟的现实世界。
poi编码表(更新时间2017年8月10日)

二、简述爬虫原理

这个世界上最大的网络爬虫是搜索引擎(百度、谷歌等),通过网址、关键词模糊查询等方式就可以返回一个网页或者众多的词条数据。只不过我们需要通过机器语言(python、java等)对这些数据的源码进行解析才能使其成为结构化的数据(csv、xlsx等格式),便于我们分析和处理。(如果有需要爬虫一般网页(淘宝、链家网)数据的同学,后期我会更新这方面的内容)
地图和一般的网页数据有一点区别,是因为地图和有道词典在线翻译类似,使用了一种非常简便的网页开发技术–Ajax。
高德地图中整合了众多深度POI点,这些POI点也就是高德地图搜索内容中的23个关键词类别。当我们需要在高德地图上搜索某个地点(poi)时,需要输入这个地点关键词。然后高德地图就会返回与这个关键词匹配的地点(poi),这是一种最简单的爬虫,既不能以某种格式(csv或xlsx)储存在我们的电脑中(只能在浏览器或app中查看),返回的poi数量也非常有限。
高德地图已开放地图基础服务API接口,我们可以从这个接口获取高德地图的各种数据,今天我们只对poi数据爬取进行讲解。

三、申请高德地图开发者账户

地址:https://lbs.amap/
一般情况下,申请成为个人开发者:填写个人信息(包括:姓名、手机、邮箱等),信息验证成功后,即可成为高德个人开发者。

四、申请key

控制台→应用管理→我的应用→创建新应用→添加key(非常简单,不赘述)

五、通过python实现高德地图poi数据的爬虫

1、查阅高德城市编码表(地址:https://lbs.amap/api/webservice/download)
2、找到需要的城市,复制adcode,比如北京市;

3、代码:

import requests
import pandas as pd
import json
import time
import math

ad = input("请输入需要爬取的城市名称:")
#感谢郑允豪@Smart3S的基础代码和思路,划分城市行政区的方式,帮我们实现了突破高德地图20*45条限制。
#由于篇幅限制,下述其他城市行政区代码,读者可自行根据高德地图官方提供的城市编码进行添加。
if ad == "天津市":
	arr=['120101','120102','120103','120104''120105','120106','120110','120111','120112','120113','120114','120115','120116','120117'

本文标签: 爬虫限度地图思路文件