ДЗ 3 —Локация адресса
Дедлайн 15.11.2025 в 16:59
Начиная с этого ДЗ и далее, если вы используете сторонние библиотеки requests, fastapi и тд), вначале ДЗ их, чтобы проверяющий мог их установить, например:
pip install requests==2.32.5
Быстро получить список зависимостей можно так: pip freeze | grep -e requests -e fastapi
Есть множество сервисов, позволяющих получить местоположение IP-адреса, например ip-api.com. В этот сервис можно обращаться по API, например:
~ ➜ curlie http://ip-api.com/json/misis.ru # вместо misis.ru можно указать IP-адрес или домен
HTTP/1.1 200 OK
Date: Sun, 12 Oct 2025 11:34:44 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 270
Access-Control-Allow-Origin: *
X-Ttl: 38
X-Rl: 43
{
"status": "success",
"country": "Russia",
"countryCode": "RU",
"region": "MOW",
"regionName": "Moscow",
"city": "Moscow",
"zip": "144700",
"lat": 55.7558,
"lon": 37.6173,
"timezone": "Europe/Moscow",
"isp": "AdminVPS OOO",
"org": "Adminvps",
"as": "AS211642 AdminVPS OOO",
"query": "5.253.61.53"
}Ваша задача написать скрипт, который принимает на вход IP-адрес или домен, ищет его местоположение через ip-api и выводит его местоположение в цветах, например:
> python3 main.py misis.ru
Address: <green>Russia</> Moscow Moscow
Coordinates: <yellow>55.755800,37.617300</> (https://yandex.ru/maps/?ll=37.617300%2C55.755800&z=16)
Organization: AdminVPS OOO, <cyan>Adminvps</>, AS211642 AdminVPS OOO(Фото результата примера см тут)
> Чтобы считать аргумент из консоли (misis.ru) используйте, например, import sys; sys.argv
> Чтобы отправить запрос используйте библиотеку requests, чтобы распарсить ответ - json
> Чтобы покрасить текст вывода используйте ANSI цвета, либо готовую библотеку, например.