python - Obtenga el nombre de la aplicación del agente de usuario
Tengo cadenas como
VK/28 CFNetwork/711.4.6 Darwin/14.0.0
Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13C75 Safari/601.1
Instagram 8.2.0 (iPhone4,1; iPhone OS 8_4; ru_RU; ru; scale=2.00; 640x960) AppleWebKit/420+
Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13C75 Safari/601.1
Quiero saber qué aplicación se usó para cada cadena. es
vk
mozilla
instagram
mozilla
Encuentro la forma de determinar el navegador, pero no sé cómo obtener la aplicación.
------------Respuesta------------
Puede obtener algo así:
>>> log = '''VK/28 CFNetwork/711.4.6 Darwin/14.0.0
... Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13C75 Safari/601.1
... Instagram 8.2.0 (iPhone4,1; iPhone OS 8_4; ru_RU; ru; scale=2.00; 640x960) AppleWebKit/420+
... Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13C75 Safari/601.1
... '''
>>> agents = [line.split()[0].split('/')[0] for line in log.splitlines()]
>>> print '\n'.join(agents)
VK
Mozilla
Instagram
Mozilla
------------Respuesta------------
No está muy claro si solo está tratando de analizar encabezados o si está tratando de hacer coincidir la cadena de agente de usuario con las aplicaciones/servicios conocidos que accedenes tu servidor. Dado que Adem responde la primera pregunta, aquí hay una explicación para la segunda.
No hay forma de averiguar el nombre exacto de la aplicación que accede a su servidor a través del encabezado User-agent. Aunque el estándar HTTP/1.1 especifica el formato de cadena de agente de usuario, lo utilizan principalmente los navegadores operados por humanos, mientras que los bots y otro software pueden usar un formato simplificado o incluso falsificarlo (ver wiki).
Entonces, en su caso, es mejor crear una lista de las aplicaciones que le gustaría rastrear y luegoEncuentre sus encabezados de agente de usuario en la web (como este o este), para que pueda analizar sus encabezados HTTP y hacer coincidir las cadenas de agente de usuario con los elementos de su lista.
Etiquetas: user-agent python
Artículos relacionados:
java - Mybatis asigna varias columnas a la misma propiedad
android - Activitymanager filtrando la actividad
- c# - ¿Por qué al iniciar un servidor tcp, el formulario desaparece?
- código de estado http 404 - 404 - Categoría no encontrada joomla
- algoritmo - ¿Es mi función O (n!) O es O ((n-1)!) más precisa?
- python - ¿Cómo depurar el kernel Jupyter Python3 moribundo?
- Error #1066 - Tabla/alias no único en MySQL
- replace: reemplaza cada cuarta línea de un archivo con la línea correspondiente en otro archivo
- bash: inicialización de una variable con variables de matriz en el script de Shell
- c - inicializa la estructura a cero excepto un campo
- ajax - Panel de backend de asesoramiento de tecnologías web
- rendimiento: el tamaño de los datos de Android aumenta automáticamente
- ios - ¿Cómo convertir tipos de clase?
- visual studio 2015 - ¿Cómo integrar Umbraco con la aplicación web para revendedores de Microsoft Azure?
- c# -, ToString(), toma 1 argumento cuando se utiliza el tipo DateTime? (anulable) I
- java - ¿Hay alguna diferencia entre ? y * en expresiones cron? Extraño ejemplo
- powershell - Test-Path no encuentra un volumen recién montado
Artículos calientes
- medicina china para la bronquitis
- Diferencia entre infección de las vías respiratorias superiores y bronquitis
- ¿Qué causa la epididimitis?
- Criterios diagnósticos de cálculos renales
- ¿Qué medicamento la masturbación causa prostatitis?
- ¿Cuáles son los factores de padecer gota?
- Qué comer durante la convalecencia de una hemorragia cerebral
- que es el alzheimer
- Principales criterios diagnósticos de las bronquiectasias
- ¿Cuáles son las formas de prevenir y tratar la menstruación irregular en las mujeres?
- Síntomas de gota de ternera
- Saco gestacional de 5x4mm cuanto dura el embarazo
- La diferencia entre espinillas y espinillas de ácaros
- Por qué frotar con jengibre puede tratar la caída del cabello
- ¿Cuánto tiempo se puede vivir con insuficiencia hepática?