Heim > Artikel > Backend-Entwicklung > Python zählt Client-IP-Besuche basierend auf Nginx-Zugriffsprotokollen
Professionelle statistische Websites wie Baidu Statistics, Google Analytics, cnzz und andere statistische Hintergründe bieten häufig verwendete statistische Indikatoren für Webmaster wie UV, PV, Online-Zeit, IP usw. Darüber hinaus habe ich aus Netzwerkgründen Ich habe festgestellt, dass Google Analytics Hunderte mehr IPs als Baidu-Statistiken hat. Daher möchte ich mein eigenes Skript schreiben, um die tatsächliche Anzahl der Besuche zu verstehen. Allerdings werden die auf Nginx basierenden Zugriffsprotokolle viel größer sein als die des statistischen Backends, da es viele Spinnen gibt Besuche werden ebenfalls gezählt, es gibt statische Dateistatistiken. Wenn der Algorithmus verbessert wird, kann ich diese nutzlosen Statistiken heute mit Ihnen teilen und sie auch lernen und überprüfen Python-Sprache.
Zum Beispiel lautet das Nginx-Protokoll auf dem Server wie folgt:
221.221.155.54 - - [02/Aug/2014:15:16:11 +0800] "GET / HTTP/ 1.1" 200 8482 "http://www.zuidaima.com/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, wie Gecko) Chrome/31.0.1650.57 Safari/537.36" "-" "0,020 "
221.221.155.53 - - [02/Aug/2014:15:16:11 +0800] "GET / HTTP/1.1" 200 8482 "http://www.zuidaima.com/" "Mozilla/5.0 ( Windows NT 6.1 ; WOW64) AppleWebKit/537.36 (KHTML, wie Gecko) Chrome/31.0.1650.57 Safari/537.36" "-" "0.020"
221.221.155.54 - - [02.08.2014:15:16:11 +0800] „GET / HTTP/1.1“ 200 8482 „http://www.zuidaima.com/“ „Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, wie Gecko) Chrome/31.0.1650.57 Safari /537.36" "-" "0.020"
Das Statistikskript lautet wie folgt:
stat_ip.py
#encoding=utf8IP: 221.221.155.54, Aufrufe: 2
Gesamt: 2
max_ip_view : {' 221.221.155.54': 2}