Получаем информацию о местоположении по IP-адресу
Краткая сводка о том, как написать маленькую программу для получения информации о местоположении по IP-адресу
Для начала откроем любое удобное для нас средство для работы с кодом. У меня это вновь стал Spyder.
Дополнительно отмечу, что есть интересный сайт https://ip-api.com, где можно посмотреть всю доступную информацию о местоположении. В зависимости от вашего IP-адреса здесь также может присутствовать и другая информация, вплоть до вашего города, например. Хоть вся информация Вам может выводиться непосредственно на экране уже при посещении сайта, мы же попробуем получить всю доступную информацию при помощи Python.
1. Установим необходимый нам пакет requests. Или проверим, что он уже есть.
2. Введем следующий код:
import requests
import pprint
def get_location_info():
return requests.get(«http://ip-api.com/json/»).json()
if name == «main»:
pprint.pprint(get_location_info())
Oбратите внимание, что в if name и main нужно именно два нижних подчеркивания! Почему-то здесь не отображается, но в приложенном исходнике все есть:
Файл location.py.
Программа в одну функцию «def get_location_info():» получает данные с сайта freegeoip.net, используя библиотеку requests. У requests есть метод get для того, чтобы сделать get http запрос. В программе есть метод json, который позволит текст, который возвращается, когда мы запрашиваем этот адрес в формате json, преобразовать во внутреннее представление в Python. В нашем случае этот json будет преобразован в словарь. Последний и выводится после запуска программы.
Модуль pprint позволяет красиво отображать объекты Python. При этом сохраняется структура объекта и отображение, которое выводит pprint, можно использовать для создания объекта. Модуль pprint входит в стандартную библиотеку Python. В принципе, его можно было не использовать, но именно он позволяет структурировано вывести наш словарь как результат выполнения программы.
Опубликовано
·
Автор
Victor