Huellas Dactilares de Navegador Personalizadas: Controla las Señales que los Sitios Leerán
Specialist in Anti-Bot Strategies
TL;DR:
- Una huella digital del navegador es el conjunto de señales que un sitio lee para identificar tu navegador — agente de usuario, plataforma, pantalla, zona horaria, idioma, canvas y WebGL. Cuando no coinciden, se identifica la automatización.
- Scrapeless Scraping Browser te permite establecer la huella digital explícitamente. Pasa un objeto
fingerprinty el navegador en la nube reporta exactamente esos valores, mantenidos internamente consistentes. - La anulación es real, no cosmética. En una ejecución en vivo,
navigator.userAgent,navigator.platform(Win32), la zona horaria resuelta (Asia/Hong_Kong), ynavigator.languagevolvieron como los valores establecidos — verificado abajo. - La consistencia es el punto. Un agente de usuario estadounidense con una zona horaria de Hong Kong y una IP de centro de datos es la discrepancia que los sistemas anti-bot buscan; establece la huella digital y la salida para contar una historia coherente.
- Se basa en una conexión estándar de Puppeteer. La huella digital es un parámetro de consulta en el endpoint de WebSocket; tu código de navegación no cambia.
- Gratis para comenzar. Nuevas cuentas de Scrapeless incluyen un tiempo de ejecución gratuito de Scraping Browser — regístrate en app.scrapeless.com.
Introducción: el navegador te está delatando
Cada página que cargas lee un conjunto de señales para decidir qué tipo de cliente eres: la cadena del agente de usuario, la plataforma, el tamaño de pantalla, el idioma y la zona horaria, y valores más profundos como la huella digital de canvas y WebGL. Un navegador real reporta esto de manera consistente — un Chrome configurado en EE. UU. en Windows tiene una zona horaria estadounidense, una plataforma correspondiente y una pantalla normal. La automatización tiende a filtrar una historia diferente: un headless por defecto aquí, una zona horaria desajustada allá, una bandera navigator.webdriver que ningún navegador humano establece.
Scrapeless Scraping Browser te permite establecer esa historia a propósito. Pasas un objeto fingerprint cuando abres la sesión, y el navegador en la nube reporta exactamente esos valores — de manera coherente, por lo que las señales coinciden entre sí. Esta guía cubre los campos de huella digital, cómo configurarlos a través de una conexión estándar de Puppeteer, y una verificación en vivo de que la anulación realmente tiene efecto.
Qué puedes controlar
- Agente de usuario — la cadena completa UA que reporta el navegador.
- Plataforma —
Windows,macOS, oLinux, reflejado ennavigator.platform. - Pantalla — el
anchoyaltoreportados. - Localización — la
zona horariay la lista ordenada deidiomas. - Argumentos de lanzamiento — banderas de Chromium como el tamaño de la ventana.
Los valores se mantienen internamente consistentes, por lo que el navegador no reporta una plataforma Windows con un agente de usuario de macOS.
Por qué Scrapeless Scraping Browser
Scrapeless Scraping Browser es un navegador en la nube personalizable y anti-detección diseñado para rastreadores web y agentes de IA. Para el control de huellas digitales específicamente, trae:
- Campos de huella digital explícitos — agente de usuario, plataforma, pantalla, zona horaria y idiomas establecidos por sesión.
- Consistencia interna — sin indicios de
navigator.webdriver, y los valores que estableces coinciden entre sí. - Proxies residenciales en más de 195 países — empareja la región de la huella digital con una salida coincidente para que las dos señales se alineen.
- Una conexión estándar de Puppeteer —
puppeteer.connect()devuelve unBrowserordinario; la huella digital se establece en la URL del endpoint.
Obtén tu clave API en el plan gratuito en app.scrapeless.com.
Requisitos previos
- Node.js 18 o superior
- Una cuenta de Scrapeless y clave API — regístrate en app.scrapeless.com
- Familiaridad básica con Puppeteer
Instalar
bash
npm install puppeteer-core
bash
export SCRAPELESS_API_KEY="your_api_token_here"
Establecer una huella digital
Construye el objeto de huella digital, codifícalo en URL y pásalo como el parámetro de consulta fingerprint en el endpoint de WebSocket. Todo lo demás es una sesión normal de Puppeteer:
javascript
import puppeteer from 'puppeteer-core';
const fingerprint = {
userAgent:
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36',
platform: 'Windows',
screen: { width: 1280, height: 1024 },
localization: { languages: ['en-US', 'en'], timezone: 'Asia/Hong_Kong' },
args: { '--window-size': '1280,1024' },
};
const params = new URLSearchParams({
token: process.env.SCRAPELESS_API_KEY,
sessionTTL: '180',
proxyCountry: 'ANY',
fingerprint: encodeURIComponent(JSON.stringify(fingerprint)),
});
const browser = await puppeteer.connect({
browserWSEndpoint: `wss://browser.scrapeless.com/api/v2/browser?${params}`,
});
const page = await browser.newPage();
await page.goto('https://example.com', { waitUntil: 'domcontentloaded' });
await browser.close();
Confirmando que la anulación tuvo efecto
Lee las señales desde dentro de la página para confirmar que coinciden con lo que configuraste:
javascript
const reported = await page.evaluate(() => ({
userAgent: navigator.userAgent,
platform: navigator.platform,
zona horaria: Intl.DateTimeFormat().resolvedOptions().timeZone,
idioma: navigator.language,
}));
console.log(reporte);
// {
// agenteUsuario: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) … Chrome/134.0.0.0 Safari/537.36",
// plataforma: "Win32",
// zonaHoraria: "Asia/Hong_Kong",
// idioma: "en-US"
// }
En una ejecución en vivo, los cuatro volvieron como los valores de la huella digital: el agente de usuario de forma literal, `plataforma` como `Win32` (de `plataforma: 'Windows'`), la zona horaria resuelta como `Asia/Hong_Kong` y el idioma como `en-US`. La sobreescritura alcanza el entorno de JavaScript que la página realmente lee, no solo el encabezado de solicitud.
> Obtén tu clave API en el plan gratuito: [app.scrapeless.com](https://app.scrapeless.com/passport/login/?utm_source=website&utm_medium=blog&utm_campaign=scrapingbrowser&utm_term=custom-browser-fingerprint)
---
## Haz que las señales coincidan
Una huella digital solo ayuda cuando sus partes cuentan una sola historia. Los desacuerdos comunes que hacen que se marque una sesión:
- **Zona horaria vs. IP** — una zona horaria de Hong Kong detrás de una salida en EE. UU. se lee como inconsistente. Establece `proxyCountry` en una región que coincida con la zona horaria y los idiomas, o establece la zona horaria para que coincida con la salida. El manejo de la zona horaria sigue las zonas IANA referenciadas por <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/resolvedOptions" rel="nofollow"><strong>la API Intl.DateTimeFormat</strong></a>.
- **Plataforma vs. agente de usuario** — una plataforma `Windows` con una cadena UA de macOS es una contradicción. Mantén el campo de plataforma y el token del SO del UA alineados; la gramática del UA está definida en <a href="https://datatracker.ietf.org/doc/html/rfc9110#name-user-agent" rel="nofollow"><strong>la especificación de semántica HTTP</strong></a>.
- **Idioma vs. región** — ordena los `idiomas` como lo haría un usuario en esa región, con el idioma principal primero.
- **Pantalla vs. ventana** — mantén las dimensiones de la `pantalla` y el argumento `--window-size` razonables para el dispositivo que estás impersonando.
Estas señales son exactamente el tipo de indicios de cliente automatizado catalogados en <a href="https://owasp.org/www-project-automated-threats-to-web-applications/" rel="nofollow"><strong>el proyecto de Amenazas Automatizadas de OWASP</strong></a> — la coherencia entre ellas es lo que tiene un navegador real y un bot descuidado no.
---
## Patrones avanzados
**Rota las huellas digitales entre sesiones, no dentro de una.** Mantén una huella digital estable durante la vida de una sesión, de modo que la historia no cambie en medio de la visita; variarla entre sesiones en su lugar.
**Fija la salida a la región de la huella digital.** Establece `proxyCountry` (y `proxyState`/`proxyCity` cuando sea necesario) para que coincida con la zona horaria y los idiomas que eligiste.
**Persiste una identidad con un perfil.** Cuando necesites la misma identidad a través de ejecuciones, empareja la huella digital con un perfil de navegador para que las cookies y el almacenamiento se transfieran.
**Mantén la plausibilidad.** Una huella digital que ningún dispositivo real produciría es tan sospechosa como una por defecto: usa valores que describan un navegador que realmente exista.
---
## Conclusión: una identidad coherente
Una huella digital personalizada no es un solo truco: es la diferencia entre un navegador que reporta una identidad consistente y uno que se contradice a sí mismo. Establece el agente de usuario, la plataforma, la pantalla, la zona horaria y los idiomas juntos, fija la salida para que coincida y los valores que un sitio lee concuerdan como lo hacen los de un navegador real. Combínalo con los controles de sesión del [Navegador de Scraping](https://www.scrapeless.com/es/product/scraping-browser?utm_source=website&utm_medium=blog&utm_campaign=scrapingbrowser&utm_term=custom-browser-fingerprint) y salida residencial, infórmate sobre [por qué la reputación IP es importante](https://www.scrapeless.com/es/blog/what-is-a-cloud-proxy?utm_source=website&utm_medium=blog&utm_campaign=scrapingbrowser&utm_term=custom-browser-fingerprint), y los [documentos](https://docs.scrapeless.com) cubren cada campo.
---
## ¿Listo para construir tu canal de datos impulsado por IA?
Únete a nuestra comunidad para reclamar un plan gratuito y conectarte con desarrolladores que crean flujos de trabajo anti-detección: [Discord](https://discord.gg/VU2vtbq7Q2) · [Telegram](https://t.me/scrapeless).
Regístrate en [app.scrapeless.com](https://app.scrapeless.com/passport/login/?utm_source=website&utm_medium=blog&utm_campaign=scrapingbrowser&utm_term=custom-browser-fingerprint) para obtener un tiempo de ejecución gratuito del Navegador de Scraping y consulta los [precios](https://www.scrapeless.com/es/pricing?utm_source=website&utm_medium=blog&utm_campaign=scrapingbrowser&utm_term=custom-browser-fingerprint) para escalar.
---
## Preguntas frecuentes
**P: ¿Qué es una huella digital de navegador?**
El conjunto de señales que un sitio lee para identificar tu navegador: agente de usuario, plataforma, tamaño de pantalla, zona horaria, idioma y valores más profundos como canvas y WebGL. Los sitios los combinan en un identificador y marcan combinaciones que no parecen un dispositivo real.
**P: ¿Configurar la huella digital realmente cambia lo que ve la página?**
Sí. En una ejecución en vivo, `navigator.userAgent`, `navigator.platform`, la zona horaria resuelta y `navigator.language` devolvieron todos los valores establecidos en la sesión; la sobrecarga llega al entorno de JavaScript, no solo al encabezado de la solicitud.
**P: ¿La zona horaria debe coincidir con el país del proxy?**
Sí. Una zona horaria que contradice la región de la IP de salida es una señal común. Establezca `proxyCountry` para que coincida con la zona horaria y los idiomas de la huella digital, o ajuste la zona horaria para que coincida con el egreso.
**P: ¿Puedo rotar huellas digitales?**
Rote entre sesiones, no dentro de una. Una huella digital que cambia a mitad de sesión es en sí misma una señal; manténgala estable por sesión y varíela entre sesiones.
**P: ¿Necesito un agente de IA o SDK para esto?**
No. La huella digital es un parámetro de consulta en el punto final estándar de WebSocket de Puppeteer: simplemente `puppeteer.connect()`, no se requiere agente.
En Scrapeless, solo accedemos a datos disponibles públicamente y cumplimos estrictamente con las leyes, regulaciones y políticas de privacidad del sitio web aplicables. El contenido de este blog es sólo para fines de demostración y no implica ninguna actividad ilegal o infractora. No ofrecemos garantías y renunciamos a toda responsabilidad por el uso de la información de este blog o enlaces de terceros. Antes de realizar cualquier actividad de scraping, consulte a su asesor legal y revise los términos de servicio del sitio web de destino u obtenga los permisos necesarios.



