L'analyse HTTP chaîne de l'Agent Utilisateur
Quelle est la meilleure méthode pour analyser une chaîne de l'Agent Utilisateur en Python pour détecter de manière fiable
- Navigateur
- Version du navigateur
- OS
Ou peut-être un assistant de bibliothèque qui fait
- Plus au point, selon le navigateur Systèmes d'exploitation et versions de la capacité de détection n'est pas une bonne stratégie. Quel problème essayez-vous de résoudre?
- Nous avons un simple billet journaliste forme pour notre application web. Et souvent, nous demandons aux utilisateurs quel est le navigateur/système d'exploitation, etc. Donc, nous pourrions simplement détecter à l'avance et demander à l'utilisateur de confirmer. Eh bien, si ce n'est pas si anodin il nous suffit de vider le user-agent, mais ont encore besoin de poser des questions, que l'utilisateur peut utiliser un autre navigateur pour présenter le billet.
- Vous pouvez simplement laisser Python rendre la forme et l'utilisation de Javascript pour modifier le champ de saisie de valeurs à celles de l'OS courant et quoi d'autre vous le souhaitez.
Vous devez vous connecter pour publier un commentaire.
Pour répondre à ma propre question 😉
Finalement j'ai décidé de passer par la suggestion#1 c'est à dire écrire votre propre. Et je suis heureux avec le résultat. N'hésitez pas à utiliser/modifier/m'envoyer le patch etc.
C'est ici -> http://pypi.python.org/pypi/httpagentparser
UASparser pour Python
par Hicro Kee. Auto mise à jour de fichier de données et le cache de serveur distant avec vérification de version.
Werkzeug a l'utilisateur de l'agent d'analyse intégré.
Nouveau lien (Juin 2018)
http://werkzeug.pocoo.org/docs/0.14/utils/#module-werkzeug.useragents
Avoir de l'exécution de ces suggestions à l'encontre de le corpus de l'Utilisateur de Firefox Agents, j'ai trouvé que la version-numéro de l'analyse à des fins de comparaison est assez pauvre.
Si c'est ce que vous avez besoin, je vous suggère de prendre un coup d'oeil à UAparser, qui faisait partie de la browserscope projet. La Documentation ici.
Les autres réponses à cette question sont assez vieux maintenant. Je crois que le nouveau standard dans le Navigateur de l'Utilisateur de l'Agent d'analyse est Browserscope de l'agent utilisateur de l'analyseur.
Également disponibles avec la exactement la même reconnaissance de motifs dans de nombreuses autres langues. Un jour, vous pouvez aussi analyser certains UA chaînes de caractères en JavaScript et que vous n'avez pas besoin de s'inquiéter à propos incohérents de l'analyse.
Th Navigateur Cap Analyseur devrait fonctionner. Il peut être un peu lent mais..
Cependant, si vous souhaitez analyser tout cela sur le Python côté, vous pouvez utiliser le XML/INI fichiers fournis dans http://browsers.garykeith.com/downloads.asp à faire des recherches sur l'agent utilisateur. C'est le même fichier qui est utilisé dans de php get_browser() fonction.