python - 如何检测访问您网站的用户的国家和城市?

标签 python web-applications

您如何检测访问您网站的用户来自哪个国家/地区?

我在我的网站上使用 Google Analytics,可以看到我有来自世界不同地区的用户。

但在我的应用程序中,我想根据国家或城市提供一些额外的定制。

是否可以从浏览器中检测到此信息?这是一个 Python 网络应用程序。

最佳答案

抓取并压缩 http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz ,安装 GeoIP-Python 包(如果您使用的是 Debian 或 Ubuntu,则安装 python-geoip 包,否则安装 http://geolite.maxmind.com/download/geoip/api/python/GeoIP-Python-1.2.4.tar.gz ),然后执行:

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

{'city': 'Mountain View', 'region_name': 'California', 'region': 'CA', 'area_code': 650, 'time_zone': 'America/Los_Angeles', 'longitude ': -122.05740356445312, 'country_code3': 'USA', 'latitude': 37.419200897216797, 'postal_code': '94043', 'dma_code': 807, 'country_code': 'US', 'country_name': 'United States'}

数据库是免费的(http://geolite.maxmind.com/download/geoip/database/LICENSE.txt)。他们也卖它;我认为这只会让您更频繁地更新。

关于python - 如何检测访问您网站的用户的国家和城市?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1163136/

相关文章:

web-applications - 从文件系统拖放到 Web 应用程序中

api - Web 应用程序和 API 在同一个 Laravel 项目中?

python - Flake8 报告 E999 SyntaxError atom Flake 8

python - 导入一个不存在的包

python - 是否有用于创建茎叶图的 Pandas 功能

python - 将配置数据文本与默认数据文本进行比较

asp.net - 如何在 ASP.NET 中的 Web 应用程序之间共享用户控件?

python - 如何读取/打印(_io.TextIOWrapper)数据?

java - 获取 session 过期的时间(以秒为单位)

objective-c - 使用 objective-c 的 Web 应用程序编程?