Python request API
如何使用Python3调用第三方的API?
使用urlib来做GET请求
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| import requests, json import urllib.request import urllib.parse import json
def address_transform(address, city): url = "http://api.map.baidu.com/geocoder/v2/" data = {} data["output"] = "json" data["address"] = address data["city"] = city data["ak"] = "" data = urllib.parse.urlencode(data).encode('utf-8') response = urllib.request.urlopen(url, data) result = json.loads(response.read().decode('utf-8')) location = (result["result"]["location"]) return (str(location["lat"]) + "," + str(location["lng"]))
print(address_transform("广西大学", "广西壮族自治区-南宁市-西乡塘区"))
|
使用request来做GET请求
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| import requests, json import urllib.request import urllib.parse import json
def address_transform(address, city, **kwargs): data = {} url = "http://api.map.baidu.com/place/v2/suggestion" district = city[city.index("-")+1 : len(city)] data["query"] = address print(data["query"]) data["region"] = district[0:district.index("-")] print(data["region"]) data["city_limit"] = "true" print(data["city_limit"]) data["output"] = "json" print(data["output"]) district = district[district.index("-")+1:len(district)] data["ak"] = "AK" print("*"*100) response = requests.get(url, params=data, **kwargs) json = response.json() return json
|