9.1 Praca z Google Maps API
Zajmijmy się teraz tym, jak pracować z publicznymi API popularnych serwisów.
Na przykład Google Maps API oferuje różne usługi, takie jak geocoding, wyszukiwanie tras i lokalizacji. Aby używać Google Maps API, trzeba zarejestrować klucz API.
Geokodowanie (uzyskiwanie współrzędnych z adresu)
import requests
API_KEY = 'YOUR_GOOGLE_MAPS_API_KEY'
address = '1600 Amphitheatre Parkway, Mountain View, CA'
url = f'https://maps.googleapis.com/maps/api/geocode/json?address={address}&key={API_KEY}'
response = requests.get(url)
data = response.json()
if data['status'] == 'OK':
location = data['results'][0]['geometry']['location']
lat = location['lat']
lng = location['lng']
print(f'Koordynaty: {lat}, {lng}')
else:
print('Błąd geokodowania')
9.2 Praca z OpenWeatherMap API
Inny świetny przykład — uzyskiwanie informacji o pogodzie w dowolnym miejscu na świecie.
Serwis OpenWeatherMap API dostarcza dane pogodowe z całego świata. Aby korzystać z API, musisz się zarejestrować i otrzymać klucz API.
Uzyskiwanie aktualnej pogody
import requests
API_KEY = 'YOUR_OPENWEATHERMAP_API_KEY'
city = 'London'
url = f'http://api.openweathermap.org/data/2.5/weather?q={city}&appid={API_KEY}&units=metric'
response = requests.get(url)
data = response.json()
if response.status_code == 200:
weather = data['weather'][0]['description']
temp = data['main']['temp']
print(f'Pogoda w {city}: {weather}, temperatura: {temp}°C')
else:
print('Błąd uzyskiwania danych pogodowych')
9.3 Praca z GitHub API
Jesteście programistami, to zajmijmy się czymś bardziej technicznym. Na przykład, można przeszukać repozytoria na GitHub.
GitHub API umożliwia dostęp do informacji o repozytoriach, użytkownikach i organizacjach.
Uzyskiwanie informacji o repozytorium
import requests
repo_owner = 'octocat'
repo_name = 'Hello-World'
url = f'https://api.github.com/repos/{repo_owner}/{repo_name}'
response = requests.get(url)
data = response.json()
if response.status_code == 200:
print(f"Repozytorium: {data['name']}")
print(f"Opis: {data['description']}")
print(f"Gwiazdy: {data['stargazers_count']}")
else:
print('Błąd uzyskiwania informacji o repozytorium')
9.4 Praca z YouTube Data API
YouTube Data API pozwala na uzyskiwanie informacji o wideo, kanałach i playlistach. Aby korzystać z API, musisz uzyskać klucz API.
import requests
API_KEY = 'YOUR_YOUTUBE_API_KEY'
video_id = 'Ks-_Mh1QhMc'
url = f'https://www.googleapis.com/youtube/v3/videos?id={video_id}&key={API_KEY}&part=snippet,contentDetails,statistics'
response = requests.get(url)
data = response.json()
if 'items' in data and len(data['items']) > 0:
video_info = data['items'][0]
title = video_info['snippet']['title']
views = video_info['statistics']['viewCount']
print(f'Tytuł wideo: {title}')
print(f'Wyświetlenia: {views}')
else:
print('Błąd uzyskiwania informacji o wideo')
Open Notify API dostarcza dane o bieżącej lokalizacji Międzynarodowej Stacji Kosmicznej (ISS).
Uzyskiwanie bieżącej lokalizacji ISS
import requests
url = 'http://api.open-notify.org/iss-now.json'
response = requests.get(url)
data = response.json()
if response.status_code == 200:
position = data['iss_position']
print(f"ISS znajduje się na współrzędnych: długość {position['longitude']}, szerokość {position['latitude']}")
else:
print('Błąd uzyskiwania danych')
GO TO FULL VERSION