Question

Quelle est la meilleure méthode pour analyser une chaîne User-Agent en Python pour détecter de manière fiable

  1. navigateur
  2. Version du navigateur
  3. OS

Ou peut-être une bibliothèque d'aide qui Finalité

Était-ce utile?

La solution

répondre à ma propre question;)

Enfin j'ai décidé d'aller par la suggestion # 1 à savoir écrire votre propre. Et je suis heureux du résultat. S'il vous plaît ne hésitez pas à utiliser / modifier / envoyer ravaude etc.

Il est ici -> http://pypi.python.org/pypi/httpagentparser

Autres conseils

UASparser pour Python par Hicro Kee. Auto mise à jour du fichier de données et le cache du serveur distant avec le contrôle de version.

Werkzeug a user-agent l'analyse intégré.

Nouveau lien (juin 2018) http://werkzeug.pocoo.org/docs/0.14/utils /#module-werkzeug.useragents

Après avoir tenu ces suggestions contre le plein corpus de Firefox User Agents , j'ai trouvé que la version numéro l'analyse syntaxique de comparaison est assez pauvre.

Si c'est ce que vous avez besoin, je vous suggère de jeter un oeil à UAparser , qui était autrefois partie du projet browserscope .

Les autres réponses à cette question sont assez vieux maintenant. Je crois que la nouvelle norme dans l'analyse de l'agent utilisateur du navigateur est analyseur d'agent utilisateur .

De plus commodément disponible avec les mêmes motifs de correspondance exacte dans beaucoup d'autres langues . Un jour, vous voudrez peut-être analyser aussi des chaînes UA en JavaScript et vous n'avez pas à vous soucier de l'analyse syntaxique incohérente.

Browser Cap Parser devrait fonctionner. Il peut être un peu lent mais ..

Toutefois, si vous souhaitez analyser tout cela sur le côté Python vous pouvez utiliser les fichiers XML / INI fourni à http://browsers.garykeith.com/downloads.asp pour faire de l'agent lookups utilisateur. Ceci est le même fichier qui est utilisé dans la fonction get_browser () de php.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top