Andreas: Script um Browser aus User-Agent zu extrahieren

Hallo!

Direkt vorneweg: Ich weiß das der User_agent manipulierbar ist... aber ich suche nach einer Möglichkeit die Browser, Version und OS aus den User-Agents in meinen Logs zu ermitteln, so ein wenig was übersichtlicheres als ein Ranking der User-Agents.

Ich habe da zwar was, ein Script aus den Kommentaren einer PHP-Funktion(leider keine Ahnung mehr welche das war, jedenfalls nicht get_browser()) im Manual, halt mit 1000 regExpr´s aber das kommt mit aktuelleren OS und Browsern nicht mehr klar.

Kennt jemand da evtl ein Script, eine Klasse oder was auch immer, von mir aus in PERL oder was weiß ich, welches das relativ genau hinbekommt?

Grüße
Andreas

  1. Hi Andreas,

    Direkt vorneweg: Ich weiß das der User_agent manipulierbar ist...
    aber ich suche nach einer Möglichkeit die Browser, Version und
    OS aus den User-Agents in meinen Logs zu ermitteln, so ein wenig
    was übersichtlicheres als ein Ranking der User-Agents.

    Dir müßte eigentlich selbst klar sein, daß Dein Wunsch nicht erfüllbar
    ist.
    Da keinerlei verbindliche Syntax oder Semantik für den UserAgent
    existiert, an welche sich irgendwelche Hersteller halten müßten
    (oder dies auch freiwillig tun würden), hast Du nicht wirklich eine
    Chance, Dein Ziel zu erreichen.

    Ich habe da zwar was, ein Script aus den Kommentaren einer PHP-
    Funktion(leider keine Ahnung mehr welche das war, jedenfalls nicht
    get_browser()) im Manual, halt mit 1000 regExpr´s aber das kommt
    mit aktuelleren OS und Browsern nicht mehr klar.

    Eben. Weiter wirst auch Du nicht kommen. Du kannst natürlich raten
    und versuchen, Deine Abbildungs-Heuristik bei jedem künftigen Browser-
    Release wieder anzupassen, aber Du wirst der Realität stets hinterher
    laufen.

    Überlege Dir, ob Dein Ziel (welches ist das überhaupt?) diesen Preis
    der ständigen Wartung Deines Codes wert ist.

    Viele Grüße
          Michael
    (der bittere Krokodilstränen geweint hat, als der erste Mozilla ohne
     "rv:" in seinen Logs auftauchte ... es ist kein Verlaß auf gar nichts)

    1. Hi Michael!

      Das ist schon klar, aber mir reicht eine Heuristik aus! Wenn es nicht besser geht, dann eben so. Ich meine sowas wie: http://webalizer.teamone.de/selfforum/usage_200208.htm#TOPAGENTS

      mir ist volkommen klar das es nicht 100%ig ist, aber wenn es 95-98 % genau abbildet bin ich doch schon glücklich! Das Problem ist halt das alles alleine zu schreiben. Und wie der Webalizer für teamone.de zeigt scheint es ja Leute zu geben die sich um sowas kümmern, und da dachte ich es kennt vielleicht jemand ein Script welches im Rahmen der Möglichkeiten ganz zuverlässig ist!

      Denn das ganze ist nur eine Grage des Auffwandes! Wieviele verschiedenen Browser-OS Kombinationen gibt es denn, die 98-99% des Traffic ausmachen? 100? Wenn überhaupt. Und die muß man auswerten, wovon man einiges zusammenfassen wieder kann. Und wie oft kommmen neue OS oder Browserversionen auf den Markt? 1 mal im Monat? 2 mal? Sicher, das ist mit Aufwand verbunden, aber so auswertungen finde ich daoch recht interessant! Und daher suche ich nach einer Möglichkeit, an der nicht nur ich alleine arbeite!

      Viele Grüße
      Andreas

      1. Hi Andreas,

        Das ist schon klar, aber mir reicht eine Heuristik aus! Wenn es nicht
        besser geht, dann eben so. Ich meine sowas wie:
        http://webalizer.teamone.de/selfforum/usage_200208.htm#TOPAGENTS

        was hindert Dich daran, den Quelltext des Webalizers zu lesen?

        Denn das ganze ist nur eine Grage des Auffwandes!
        Wieviele verschiedenen Browser-OS Kombinationen gibt es denn,
        die 98-99% des Traffic ausmachen? 100? Wenn überhaupt.

        Wenn Du den Browser und das Betriebssystem gar nicht erst bestimmen
        kannst, weil es genau dafür keinen Algorithmus gibt, dann ist Deine
        Frage nicht beantwortbar.
        Wenn Du mit "Browser" unterschiedliche UserAgent-Strings meinst, dann
        sind es verdammt viele.
        (Ich habe auf einem bestimmten Server etwa 1500 registrierte Benutzer,
        und alleine diese - obwohl Firmenkunden mit per Flottenpolitik ein-
        heitlich installierten Browsern! - haben 58 verschiedene UserAgent-
        Strings ... bei einem Kunden steht sogar deren Kundenname im UserAgent-
        String drin, und auch _dieser_ Kunde hat mehrere verschiedene M$IE-
        Versionen im Einsatz, nämlich M$IE 5.0 und M$IE 5.01 ...)

        Und die muß man auswerten, wovon man einiges zusammenfassen wieder
        kann. Und wie oft kommmen neue OS oder Browserversionen auf den Markt?
        1 mal im Monat? 2 mal?

        Wie oft kommen neu verpackte Varianten bereits existierender Browser
        mit abweichenden UserAgents über CD-ROMs irgendwelcher Zeitschriften
        auf den Markt? Täglich?

        Sicher, das ist mit Aufwand verbunden, aber so auswertungen finde
        ich daoch recht interessant! Und daher suche ich nach einer
        Möglichkeit, an der nicht nur ich alleine arbeite!

        Es gibt keine, die Deine Anforderung erfüllen würde. Der Webalizer
        macht ganz bewußt sehr viel weniger, als Du willst - der versucht
        nicht, alles zu verstehen, beispielsweise nicht das Betriebssystem.

        Viele Grüße
              Michael