9.1 Робота з Google Maps API

Давайте трохи попрацюємо з публічними API популярних сервісів.

Наприклад, Google Maps API надає різні послуги, такі як геокодування, отримання маршрутів і місце розташування. Для використання Google Maps API потрібно зареєструвати API-ключ.

Геокодування (отримання координат за адресою)


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'Координати: {lat}, {lng}')
else:
    print('Помилка геокодування')

9.2 Робота з OpenWeatherMap API

Ще один чудовий приклад — отримання погоди в будь-якій точці світу.

Сервіс OpenWeatherMap API надає дані про погоду по всьому світу. Для використання API потрібно зареєструватися та отримати API-ключ.

Отримання поточної погоди


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'Погода в {city}: {weather}, температура: {temp}°C')
else:
    print('Помилка отримання даних про погоду')

9.3 Робота з GitHub API

Ви ж програмісти, давайте займатись чимось більш айтішним. Наприклад, можна полазити по репозиторіях GitHub.

GitHub API надає доступ до інформації про репозиторії, користувачів та організації.

Отримання інформації про репозиторій


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"Репозиторій: {data['name']}")
    print(f"Опис: {data['description']}")
    print(f"Зірки: {data['stargazers_count']}")
else:
    print('Помилка отримання інформації про репозиторій')

9.4 Робота з YouTube Data API

YouTube Data API дозволяє отримувати інформацію про відео, канали та плейлисти. Для використання API потрібно отримати 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'Назва відео: {title}')
    print(f'Перегляди: {views}')
else:
    print('Помилка отримання інформації про відео')

Open Notify API надає дані про поточне місце розташування Міжнародної космічної станції (МКС).

Отримання поточного місця розташування МКС


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"МКС знаходиться на координатах: довгота {position['longitude']}, широта {position['latitude']}")
else:
    print('Помилка отримання даних')