46 votes

Ce que les bibliothèques python peut me dire la localisation approximative et fuseau horaire donné une adresse IP?

À la recherche pour améliorer la géo-localisation avec Python.

Merci.

37voto

doug Points 29567

Hostip.info est un projet open-source, avec pour objectif de construire et de maintenir une base de données de mappage d'adresses IP pour les villes. Leurs propos page explique les sources de données invoqué pour alimenter cette base de données.

À l'aide de HostIP, il y a deux façons d'obtenir des données de localisation à partir d'une adresse IP:

Ils ont aussi un système bien conçu et facile à utiliser RESTFUL API: passez simplement votre adresse ip après le i*p=* dans la chaîne de demande):

import urllib

response = urllib.urlopen('http://api.hostip.info/get_html.php?ip=12.215.42.19&position=true').read()

print(response)

Deuxièmement, le Projet de Site web permet également de son complet de la base de données disponible pour le téléchargement.

13voto

luc Points 13564

Ce n'est pas une lib Python. Mais http://ipinfodb.com/ fournit un service web qui peut être facilement emballé par le code Python avec urllib par exemple.

http://api.ipinfodb.com/v3/ip-city/?key=<your_api_key>&ip=74.125.45.100
http://api.ipinfodb.com/v3/ip-country/?key=<your_api_key>&ip=74.125.45.100

Vous devez demander une clé d'API. Voir la doc de l'API pour plus de détails.

8voto

ony Points 3863

Vous pouvez trouver ces modules utiles: MaxMind de GeoIP et sa version pure, ainsi pytz.

1voto

sebastian serrano Points 574

Je suis en utilisant ipinfodb, est gratuit (inscription obligatoire) et a 2 requêtes par seconde limite et semble être exacte.

essayez:

http://api.ipinfodb.com/v3/ip-city/?key={{API_KEY}}&ip=190.188.221.244&timezone=true

retourne:

OK;;190.188.221.244;AR, ARGENTINE, BUENOS AIRES, LA PLATA;-;-34.931;-57.949;-03:00

1voto

Kylotan Points 14114

"Geopy , il est facile pour les développeurs de localiser les coordonnées des adresses, des villes, des pays et des monuments à travers le monde à l'aide de tiers geocoders et d'autres sources de données, telles que les wikis.

geopy actuellement inclut le support pour les six geocoders: Google Maps, Yahoo! Des cartes, des Locaux Windows Live (Virtual Earth), geocoder.nous, GeoNames, MediaWiki pages (avec l'extension GIS), et de Semantic MediaWiki pages. "

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X