Domanda

Qual è il metodo migliore per analizzare una stringa User-Agent in Python per rilevare in modo affidabile

  1. Browser
  2. Versione del browser
  3. OS

O forse qualsiasi libreria di supporto che lo fa

È stato utile?

Soluzione

Rispondendo alla mia domanda;)

Alla fine ho deciso di andare per suggestione # 1 vale a dire scrivere il proprio. E sono felice del risultato. Non esitate a utilizzare / modificare / inviarmi rattoppare etc.

E 'qui -> http://pypi.python.org/pypi/httpagentparser

Altri suggerimenti

UASparser per Python da Hicro Kee. Auto file di dati e la cache dal server remoto aggiornato con il controllo della versione.

Werkzeug ha user-agent analisi built-in.

Nuovo collegamento (giugno 2018) http://werkzeug.pocoo.org/docs/0.14/utils /#module-werkzeug.useragents

Dopo aver eseguito questi suggerimenti contro la piena corpus di Firefox User Agents , ho trovato che il numero di versione di analisi per il confronto è piuttosto scarsa.

Se questo è quello che vi serve, vi suggerisco di dare un'occhiata a UAparser , che ha usato per essere parte del href="http://code.google.com/p/browserscope/" rel="noreferrer"> browserscope progetto documentazione qui.

Le altre risposte a questa domanda sono piuttosto vecchio ormai. Credo che il nuovo standard Agente utente del browser di analisi è di Browserscope user agent parser .

Anche comodamente disponibili con esattamente lo stesso pattern di corrispondenza molte altre lingue . Un giorno si potrebbe desiderare di analizzare anche alcune stringhe UA in JavaScript e non è necessario preoccuparsi di analisi incoerente.

Browser Cap Parser dovrebbe funzionare. Può essere un po 'lento però ..

Tuttavia, se si desidera analizzare tutto questo sul lato Python è possibile utilizzare l'XML / file INI offerti da http://browsers.garykeith.com/downloads.asp per fare ricerche sulla user agent. Questo è lo stesso file che viene utilizzato nella funzione di PHP get_browser ().

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top