为什么GeoIP在日志分析中显示错误?

时间:2017-08-31 14:07:03

标签: python analysis

我有这个GeoIP地址代码,当我运行此代码时,它显示错误,没有名为GeoIP的模块。这是我的代码:

import sys
import GeoIP

gi = GeoIP.new(GeoIP.GEOIP_MEMORY_CACHE)
with open ('Desktop/trail.txt', 'r') as f:

  for line_string in f.readlines():
    line = line_string.rstrip()
    arr = line.split()

    try:
      country_code = gi.country_code_by_addr(arr[0])
      country_name = "\"" + gi.country_name_by_addr(arr[0]) + "\""

      arr.append(country_code)
      arr.append(country_name)
    except:
      arr.append("None")

    print ",".join(arr)

这是错误: 第4行,在     gi = GeoIP.new(GeoIP.GEOIP_MEMORY_CACHE) GeoIP.error:[Errno 2]没有这样的文件或目录:'/ usr / local / var / GeoIP / GeoIP.dat'

1 个答案:

答案 0 :(得分:0)

您忘记添加GeoIP.dat数据库,这是您的代码,用于获取信息 从官方发布的Here

下载
  • 向下滚动到 GeoLite国家/地区,然后选择下载
  • 将下载的文件“GeoIP.dat.gz”移至/usr/local/var/GeoIP/
  • 右键单击并选择在此处提取或通过以下命令提取:gunzip GeoIP.dat.gz

  • 然后会出现一个名为GeoIP.dat的文件,将其留在此路径中

现在您在路径/usr/local/var/GeoIP/GeoIP.dat中拥有数据库文件 尝试再次编译,让我知道是否还有问题。