在大數據時代,了解收集用戶來源是必不可少的功能之一,本地搭建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 洲/?。篫hejiang(浙江省) 城市:Hangzhou(杭州) 經度:120.1619,緯度30.294 時區:Asia/Shanghai 郵編:None
2.至于在線庫的使用是需要一個license_key
只有前面兩步不太一樣
連接: client = geoip2.webservice.Client(42, <license_key>)
查詢 IP: response = client.insights(<IP>)
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。
發表評論
請登錄后評論...
登錄后才能評論