目前,大厂的服务范围越来越广,提供的数据信息也是比较全的,在生活服务,办公领域,人工智能等方面都全面覆盖,相对来说,他们的用户基数大,通过用户获取的信息也是巨大的。除了百度提供api,国内提供免费API获取数据的还有很多,包括新浪、豆瓣电影、饿了么、阿里、腾讯等今天使用百度地图API来请求我们想要的数据。
第一步.注册百度开发者账号
注册成功后就可以获取到应用服务AK也就是API秘钥,这个是最重要的,应用名称可以随便取,如果是普通用户一天只有2000调用限额,认证用户一天有10万次调用限额
在百度地图web服务API文档中我可以看见提供的接口和相关参数,其中就有我们要获取的AK参数,使用的GET请求
一.下面我们尝试使用API获取获取北京市的城市公园数据,需要配置参数
import requests import json def getjson(loc): headers = { 'User-Agent' : 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'} pa = { 'q': '公园', 'region': loc, 'scope': '2', 'page_size': 20, 'page_num': 0, 'output': 'json', 'ak': '填写自己的AK' } r = requests.get("http://api.map.baidu.com/place/v2/search", params=pa, headers= headers) decodejson = json.loads(r.text) return decodejson getjson('北京市')
二.获取所有拥有公园的城市
import requests import json def getjson(loc): headers = { 'User-Agent' : 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'} pa = { 'q': '公园', 'region': loc, 'scope': '2', 'page_size': 20, 'page_num': 0, 'output': 'json', 'ak': '填写自己的AK' } r = requests.get("http://api.map.baidu.com/place/v2/search", params=pa, headers= headers) decodejson = json.loads(r.text) return decodejson province_list = ['江苏省', '浙江省', '广东省', '福建省', '山东省', '河南省', '河北省', '四川省', '辽宁省', '云南省', '湖南省', '湖北省', '江西省', '安徽省', '山西省', '广西壮族自治区', '陕西省', '黑龙江省', '内蒙古自治区', '贵州省', '吉林省', '