Python - 爬虫 - 调用高德API案例

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

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


 

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

 

实现方式:
最开始我想到的方式,是打开网页版高德地图,然后通过模拟人操作输入关键词,抓取响应结果的文本进行提取。试了下,事倍功半!
Python - 爬虫 - 调用高德API案例_第1张图片

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

就这么简单!

 
 

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

打开百度检索高德开发者平台,注册并创建自己的应用,然后再创建自己的“秘钥” 。
Python - 爬虫 - 调用高德API案例_第2张图片
注册和申请都是免费的,​不过免费的秘钥调用有额度限制。作为学习,​还是足够使用了。下面是我自己的秘钥界面​:
Python - 爬虫 - 调用高德API案例_第3张图片
详细步骤,可以参考平台的官方指南​:
https://lbs.amap.com/api/webservice/guide/create-project/get-key

 
 

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

下面是一个示例,检索广州麦当劳门店信息,返回结果json格式,每页显示20条结果,​该链接显示第1页的返回结果。
在这里插入图片描述
上图中的参数7:秘钥。

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

拼装完成之后,直接把URL放到浏览器中就可以看到结果​。是不是很方便,结果都​立马给你了,你要做的只是把这堆json格式的结果进行提取即可。
Python - 爬虫 - 调用高德API案例_第4张图片
 
 

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

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

 
 

​源代码链接:见微信位置末尾

​备注:记得替换自己的秘钥!

打包好了微信文章:
Python - 爬虫 - 调用高德API案例_第5张图片

你可能感兴趣的:(Python,爬虫,python,爬虫)