¿Cuál es el mejor método para analizar una cadena de agente de usuario en Python para detectar de forma fiablede análisis HTTP
- navegador
- Versión del navegador
- OS
O tal cualquier biblioteca de ayuda que lo haga
¿Cuál es el mejor método para analizar una cadena de agente de usuario en Python para detectar de forma fiablede análisis HTTP
O tal cualquier biblioteca de ayuda que lo haga
responder a mi propia pregunta;)
Finalmente decidí ir por la sugerencia # 1 es decir, escribir el suyo propio. Y estoy feliz con el resultado. no dude en utilizar/modificar/send me parcheo etc.
Esto no parece funcionar particularmente bien para teléfonos móviles. En particular, blackberry no se detecta. (¡aunque obtuviste mi +1 por escribirlo!) –
@Jason Sundram Si ayudas proporcionando las cadenas del agente y los resultados esperados, blackberry, otros pueden ser compatibles. Verifique https://github.com/shon/httpagentparser/issues – Shekhar
Me interesaba la comparación, pero ese es un punto justo. Retractado –
Sin embargo, si desea analizar todo esto en el lado de Python puede usar el XML/INI archivos proporcionados en http://browsers.garykeith.com/downloads.asp para realizar búsquedas en el agente de usuario. Este es el mismo archivo que se utiliza en la función get_browser() de php.
Th Browser Cap Parser debería funcionar. Puede ser un poco lento, aunque ..
UASparser for Python por Hicro Kee. Archivo de datos y caché actualizados automáticamente desde el servidor remoto con verificación de versión.
Recomendaría UA Parser también. – Dexter
Después de haber ejecutado estas sugerencias contra the full corpus of Firefox User Agents, he encontrado que el análisis del número de versión para la comparación es bastante pobre.
Si eso es lo que necesita, le sugiero que eche un vistazo a UAparser, que solía ser parte del proyecto browserscope. Documentation here.
Creo que hay una versión más actual en este repositorio: https://github.com/tobie/ua-parser – mbarkhau
Werkzeug tiene un análisis de usuario-agente incorporado.
http://werkzeug.pocoo.org/docs/0.10/utils/#module-werkzeug.useragents
Interesante. Comprobé rápidamente el código. Es realmente simple, buen código esencialmente una serie de expresiones regulares para hacer coincidir contra la cadena del agente. Interesante sería cómo funciona. Un punto a favor de Werkzeug es que también detecta el lenguaje, mientras que la ventaja de httpagentparaser es que también detecta la versión del sistema operativo. – Shekhar
falta el enlace, debe actualizar – Siddharth
Las otras respuestas a esta pregunta son bastante viejo. Creo que el nuevo estándar en el análisis del agente de usuario del navegador es user agent parser de Browserscope.
también convenientemente disponibles con los exactamente los mismos patrones coincidentes en many other languages. Algún día es posible que también desee analizar algunas cadenas de caracteres de UA en JavaScript y no tendrá que preocuparse por el análisis incoherente.
Más al punto, dependiendo de los sistemas operativos del navegador y las versiones para la detección de capacidad no es una buena estrategia. ¿Que problema estas tratando de resolver? –
Tenemos un sencillo formulario de reportero de entradas para nuestra aplicación web. Y con frecuencia preguntamos a los usuarios cuál es el software/sistema operativo, etc. Así que podríamos detectarlo de antemano y pedirle al usuario que confirme. Bueno, si eso no es tan trivial, simplemente volcaremos el agente de usuario pero aún necesitamos hacer preguntas, ya que el usuario puede estar usando un navegador diferente para enviar el ticket. – Shekhar
Puede dejar que Python presente el formulario y use Javascript para cambiar los valores del campo de entrada a los del sistema operativo actual y lo que sea que desee. – NerdyNick