在大數據時代,了解收集用戶來源是必不可少的功能之一,本地搭建IP庫進行IP分析是ELK日誌分析功能的一部分,本文進行了工具拆解,將一步步教你搭建日誌分析平台。

安裝 geoip2 庫
pip install geoip2 -i https://pypi.douban.com/simple
下載 Maxmind 網站的 IP 信息庫
地址:
http://dev.maxmind.com/geoip/geoip2/geolite2
下載完之後,解壓,將解壓包中的 mmdb 文件複製到項目的應用程序中
本機使用的環境是python3.7.4
直接上代碼
#!/usr/bin/python
# -*-coding:utf-8-*-
import geoip2.database
reader = geoip2.database.Reader('./GeoLite2-City.mmdb')
# ip = input("輸入你要查詢的IP:n")
response = reader.city('123.58.180.8') #網易ping www.163.com
# response = reader.city(ip)
# 有多種語言,我們這裡主要輸出英文和中文
print(response.city.name)
print("你查詢的IP的地理位置是:")
print("地區:{}({})".format(response.continent.names["es"],
response.continent.names["zh-CN"]))
print("國家:{}({}) ,簡稱:{}".format(response.country.name,
response.country.names["zh-CN"],
response.country.iso_code))
print("洲/省:{}({})".format(response.subdivisions.most_specific.name,
response.subdivisions.most_specific.names["zh-CN"]))
print("城市:{}({})".format(response.city.name,
response.city.names["zh-CN"]))
print("經度:{},緯度{}".format(response.location.longitude,
response.location.latitude))
print("時區:{}".format(response.location.time_zone))
print("郵編:{}".format(response.postal.code))
打印出結果
你查詢的IP的地理位置是: 地區:Asia(亞洲) 國家:China(中國) ,簡稱:CN 洲/省:Zhejiang(浙江省) 城市:Hangzhou(杭州) 經度:120.1619,緯度30.294 時區:Asia/Shanghai 郵編:None
2.至於在線庫的使用是需要一個license_key
只有前面兩步不太一樣
連接: client = geoip2.webservice.Client(42, <license_key>)
查詢 IP: response = client.insights(<IP>)
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/216297.html
微信掃一掃
支付寶掃一掃