今天分享个有意思的、容易实现的爬虫项目:通过调用高德地图API,获取广州、佛山“指定商店”(这里使用了“麦当劳”作为示例)的所有分店地址、电话信息。

先看看最终的效果: 大概8秒完成
(gif图片大于5M,放不上来,微信文章里可以看)
 


适用场景:
快速抓取指定地区的所有门店信息。举例,公司销售想拓展客户,我就把爬虫把广东省所有相关门店的城市、区、门店名称、电话、详细地址信息抓取下来,以便销售有计划地走访拓展。

 

实现方式:

最开始我想到的方式,是打开网页版高德地图,然后通过模拟人操作输入关键词,抓取响应结果的文本进行提取。试了下,事倍功半!

python 高德爬取数据 python爬取高德地图路径规划_python

后来了解到高德提供了API,尝试调用高德API的方式实现,真是多快好省,事半功倍!从工作原理角度,大致可以划分为这么几个步骤:
• 步骤1. 申请高德开发“秘钥”
• 步骤2. 利用秘钥,按照一定的规则组件URL
• 步骤3. 将URL响应的结果保存到本地

就这么简单!

 
 

1. 申请高德开发“秘钥”

打开百度检索高德开发者平台,注册并创建自己的应用,然后再创建自己的“秘钥” 。

python 高德爬取数据 python爬取高德地图路径规划_python 高德爬取数据_02


注册和申请都是免费的,不过免费的秘钥调用有额度限制。作为学习,还是足够使用了。下面是我自己的秘钥界面:

python 高德爬取数据 python爬取高德地图路径规划_python_03


 
 

2. 利用秘钥,按照一定的规则组件URL

下面是一个示例,检索广州麦当劳门店信息,返回结果json格式,每页显示20条结果,该链接显示第1页的返回结果。

python 高德爬取数据 python爬取高德地图路径规划_python_04


上图中的参数7:秘钥。

参数很多,有些是必须,有些是可选的。更多参数说明,请参考下面官方链接: https://lbs.amap.com/api/webservice/guide/api/search

拼装完成之后,直接把URL放到浏览器中就可以看到结果。是不是很方便,结果都立马给你了,你要做的只是把这堆json格式的结果进行提取即可。

python 高德爬取数据 python爬取高德地图路径规划_爬虫_05


 

 

3. 将URL的响应结果保存到本地

这里需要做的,只是将先看看检索总共有多少页,然后遍历每一页结果按照指定格式提取即可。