Glosario

¿Qué es un User Agent?

Un User-Agent es una cabecera de solicitud HTTP que identifica el software cliente que realiza la solicitud, incluyendo normalmente el nombre del navegador, la versión, el sistema operativo y el motor de renderizado, como 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'.

Entiende la cadena User-Agent, por qué es la señal más sencilla que usan los sitios web para identificar scrapers y cómo rotar User-Agents junto con tus IPs sin arruinar tu huella digital.

Explicado

La cabecera User-Agent es una de las piezas de identificación más antiguas de la web. Cada solicitud HTTP que envía un cliente incluye una línea `User-Agent:` que nombra el software cliente (navegador o biblioteca), su versión, el sistema operativo y a menudo el motor de renderizado. Los servidores la utilizan para la negociación de contenido (diseños móviles frente a escritorio), análisis y, cada vez más, detección de bots.

Para el scraping, el User-Agent es la señal más sencilla que puede configurar incorrectamente. Los User-Agents predeterminados de las bibliotecas HTTP comunes (`python-requests/2.31.0`, `axios/1.5.0`, `okhttp/4.10.0`) son señales evidentes. Incluso el User-Agent predeterminado de Playwright y Puppeteer contiene `HeadlessChrome`, que los sistemas anti-bot marcan al instante.

La solución ingenua es establecer un UA de Chrome en cada solicitud. El problema es que el User-Agent por sí solo no es suficiente: la toma de huellas moderna cruza el UA con las sugerencias de cliente `sec-ch-ua`, la huella TLS, el objeto navigator de JavaScript y la cabecera Accept-Language. Establecer un UA de Chrome pero dejar expuesto el protocolo de enlace TLS de Python crea una señal de alerta mayor que simplemente dejar el UA predeterminado.

Cómo funciona

Cuando su cliente abre una conexión a un servidor, la línea de solicitud incluye cabeceras. La línea `User-Agent` es una de ellas. Los servidores la analizan (o simplemente la registran) y enrutan la solicitud en función de lo que ven. Un User-Agent moderno de Chrome en Windows tiene este aspecto: `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36`. El prefijo 'Mozilla/5.0' es histórico; todos los navegadores lo envían por razones de compatibilidad con versiones anteriores.

Los navegadores reales también envían cabeceras `sec-ch-ua` (sugerencias de cliente 'Sec-CH-UA') en HTTP moderno, que contienen datos estructurados del navegador, versión y plataforma. Los sistemas anti-bot los comparan con la cadena User-Agent y marcan las inconsistencias. Por lo tanto, la rotación de User-Agent debe ir acompañada de actualizaciones coherentes de `sec-ch-ua-*` y huellas TLS coincidentes.

Tipos

User-Agents de navegadores de escritorio

Chrome, Firefox, Edge, Safari en Windows/macOS/Linux. La familia de UA más común para hacer scraping de objetivos web generales.

User-Agents de navegadores móviles

Chrome en Android, Safari en iOS, Samsung Internet. Necesarios al hacer scraping de sitios orientados a móvil o al combinarlos con proxies móviles para mantener la coherencia de la huella digital.

User-Agents de bots y crawlers

UAs identificativos como `Googlebot/2.1`, `bingbot/2.0`. Utilizados por crawlers legítimos de motores de búsqueda; algunos sitios los incluyen en listas blancas. Falsificarlos conlleva riesgos legales y de incumplimiento de los términos de servicio.

User-Agents predeterminados de bibliotecas

`python-requests/X.Y`, `curl/X.Y`, `Mozilla/5.0 (compatible; Java/X.Y)`. UAs predeterminados de bibliotecas HTTP: nunca los uses en scraping en producción, ya que son trivialmente identificables.

Casos de uso habituales

Identificación del navegador cliente y del sistema operativo para la negociación de contenido
Analítica del lado del servidor y segmentación de visitantes
Detección de bots (los UAs predeterminados de las bibliotecas son una señal inequívoca)
Selección de diseño para móvil o escritorio
Almacenamiento en caché por familia de navegador
Rotación de User-Agent en scrapers para imitar a usuarios reales variados
Preguntas frecuentes

Preguntas frecuentes

Preguntas frecuentes sobre user agent.

Usa un User-Agent actual y generalizado que corresponda a una versión de navegador real publicada en los últimos meses. Chrome en Windows o macOS es una opción segura por defecto. Rota entre un pequeño conjunto de UAs actuales en lugar de usar uno fijo para todas las solicitudes.