В Python, получение дополнительной информации об IP-адресе - PullRequest
3 голосов
/ 07 июля 2011

Я знаю о gethostbyaddr в Python, и это несколько полезно для меня.Я хотел бы получить еще больше информации об IP-адресе, которую можно найти на различных веб-сайтах, таких как, кто размещает этот IP-адрес, страна происхождения, ... и т. Д. Мне нужно выполнить это программно.

Существуют ли какие-либо встроенные команды для Python, или мне нужен доступ к какой-либо базе данных, содержащей информацию такого типа, или есть какие-либо API-интерфейсы Python?Python не является моим родным языком, поэтому я не так хорошо знаю, как можно было бы подойти к такой проблеме в Python.

Ответы [ 2 ]

5 голосов
/ 07 июля 2011

Вы можете использовать pywhois для получения информации whois, то есть имени и контактных данных принимающей организации / лица.Обратите внимание, что качество информации в whois различается;обычно доменное имя (встречается с gethostbyaddr) даст вам лучшие результаты, чем IP-адрес.

Если вам нужна только географическая информация, используйте pygeoip .Он отображает IP-адрес на местоположение, просматривая его в базе данных, например, предоставленной MaxMind .Обратите внимание, что бесплатные версии "Lite" дадут вам только приблизительное представление, и ошибки в 20-50 км не редкость.

0 голосов
/ 11 июля 2011

Хорошо, вот мой ответ.Я собираюсь поработать над очисткой для общего пользования Python 3.x версии pywhois, которую я имею на своем компьютере, и, надеюсь, на следующей неделе я отправлю свой код в хранилище Subversion.Из IP-адресов, которые я использую, у меня примерно 78% успеха для получения информации, сначала применив gethostbyaddr к IP-адресу, как предложил phihag, и затем добавив его через pywhois.Я позволю читателю решить для себя, является ли этот показатель достаточно высоким для их конкретного применения.

...