2016-04-29 7 views
0

Ich weiß, wie IP mit bottle für jede Anforderung zu protokollieren:Analytics mit Python Flasche Rahmen

from bottle import Bottle, request 

@app.route('/index') 
def index(): 
    client_ip = request.environ.get('REMOTE_ADDR') 

Was sonst noch möglich ist, mit bottle (keine Google Analytics), weitere Informationen über Benutzer besucht zu bekommen? (zB User Agent, wiederkehrender oder neuer Besucher => nützlich um die Anzahl der Unique Visitors pro Monat zu zählen)

Antwort

0

Was ist "wissbar" über eine Webanfrage ist genau das, was auf die Anfrage gesendet wird: alle HTTP Header und die Anfrage Körper.

Es ist nicht nützlich, über den Körper ohne Besonderheiten zu sprechen, also wenden wir uns an die Header. Sie enthalten in der Regel den User-Agent, den Referrer, die IP-Adresse des Benutzers (technisch gesehen kein HTTP-Header, aber Sie können sich diesen als einen für diesen Zweck vorstellen).

Ein guter Platz zum wäre zu beginnen bei den Feldern im Combined Log Format zur Verfügung zu suchen:

http://publib.boulder.ibm.com/tividd/td/ITWSA/ITWSA_info45/en_US/HTML/guide/c-logs.html#combined

Host rfc931 Benutzername Datum: Zeit Anfrage Statuscode-Bytes Referrer user_agent Cookie

Beachten Sie, dass HTTP-Header die vollständige Kontrolle über Ihre Besucher haben. Behandeln Sie daher ihre Werte mit dem entsprechenden Verdacht. Das heißt, die meisten Benutzer manipulieren ihre Header nicht und lassen den Browser "vernünftige" Werte senden, so dass die meisten Websites tatsächlich Analysen für die Headerwerte durchführen. Aber YMMV abhängig von Ihrer speziellen Verwendung.

Um zu schätzen, wie viele Besucher auf Ihre Website zurückkehren, gibt es mehrere Techniken mit unterschiedlichen Raffinessen, aber ein Ausgangspunkt ist es, jeden Besucher mit einer eindeutigen ID zu versehen, dann (mit Ihrer Analysesoftware) zählen, wie oft jeder einzigartiger Cookie besucht. (Beachten Sie, dass dies Auswirkungen hat, wenn Sie eine Datenschutzrichtlinie haben.)

BTW Ihre Frage ist nicht beschränkt auf Flasche; Dies gilt für jedes Web-Framework.

Hoffe, das hilft!