7
votes

Comment détecter le pays et la ville d'un utilisateur accédant à votre site?

Comment pouvez-vous détecter le pays d'origine des utilisateurs d'accéder à votre site?

J'utilise Google Analytics sur mon site et je peux voir que j'ai des utilisateurs provenant de différentes régions du monde.

Mais dans ma demande, je voudrais fournir une personnalisation supplémentaire basée sur le pays et peut-être la ville.

est-il possible de détecter cette infomation du navigateur? Ceci est une application Web Python.


0 commentaires

3 Réponses :


8
votes

Obtenez l'adresse IP du visiteur et vérifiez-la avec un Géolocalisation Service Web (ou acheter une géolocalisation base de données si vous souhaitez héberger cette détermination interne).


0 commentaires

16
votes

grab et gunzip http://geolite.maxmind.com/download.com /geoip/database/geolitecity.dat.gz , Installez le package Geoip-Python (package Python-GeoIP si vous êtes dans Debian ou Ubuntu, sinon installez http://geolite.maxmind.com/download/geoip/api/python/geoip-pytHon- 1.2.4.tar.gz ) et faire:

import GeoIP
gi = GeoIP.open("GeoLiteCity.dat", GeoIP.GEOIP_INDEX_CACHE | GeoIP.GEOIP_CHECK_CACHE)
print gi.record_by_name("74.125.67.100") # a www.google.com IP


4 commentaires

Au fait, il y a aussi une base de données de pays unique qui est beaucoup plus petite, si c'est tout ce dont vous avez besoin ( geolite.maxmind.com/download/geoip/database/geolitecountry/ ... ). Il suffit de changer le fichier sur, utilisez geoip.geoip_tandard au lieu des indicateurs ci-dessus, puis appelez gi.country_code_by_name (IP).


Merci pour la tête, j'ai utilisé l'interface Web MaxMind mais n'a jamais remarqué qu'ils offrent une base de données gratuite auparavant.


Juste FYI, la précision Maxmind est remarquablement plus précise que la géolite, si vous voulez avoir une meilleure précision que certains pays. Pour les pays, il n'y a pratiquement aucune différence (dans mon ensemble de données, 400 paires d'adresse de 85 pays). J'ai récemment étudié cela dans le cadre de la thèse de ma maîtrise (pas encore fait, donc ne sera pas associé à cela maintenant).


@Glennmaynard est-il possible de convertir une autre langue, telle que le chinois?



1
votes

MAXE MENTIE coûte de l'argent. Pour une solution gratuite de code de pays que vous pouvez essayer: https://pypi.python.org/pypi/geoip2nation/

PIP INSTALLATION GEOIP2NATION xxx


2 commentaires

Ce n'est pas vrai. Geolite ou IP2Location Lite est gratuit pour une utilisation.


Il y a une torsion commerciale dans le bas de la page: Nous proposons également une licence de redistribution commerciale.