
Herramientas de fingerprinting de navegador para anonimizar tus scrapers. Desarrollado por Apify.
fingerprint-suite es un conjunto artesanal de herramientas para la generación e inyección de huellas digitales de navegador.
Hoy en día, los sitios web utilizan cada vez más el fingerprinting para rastrear e identificar a los usuarios.
Con la ayuda de fingerprint-suite puedes generar e inyectar huellas digitales de navegador en tu navegador, lo que te permite mantener tus scrapers bajo el radar.
¿Te gustaría trabajar con nosotros en nuestras herramientas de fingerprinting o en proyectos similares? ¡Estamos contratando!
fingerprint-suite es un kit de herramientas modular para la generación e inyección de huellas digitales de navegador. Consta de los siguientes paquetes npm, que puedes usar por separado o en conjunto:
header-generator: genera cabeceras HTTP realistas y configurablesfingerprint-generator: genera huellas digitales de navegador realistas, que afectan a las cabeceras HTTP y a las API JS del navegadorfingerprint-injector: inyecta huellas digitales de navegador en tu instancia de navegador gestionada por Playwright o Puppeteergenerative-bayesian-network: nuestra implementación rápida de una red bayesiana generativa utilizada para generar huellas digitales realistas del navegadorEl siguiente ejemplo muestra cómo usar las herramientas de fingerprinting para camuflar tu instancia de Chromium gestionada por Playwright.
import { chromium } from 'playwright';
import { newInjectedContext } from 'fingerprint-injector';
(async () => {
const browser = await chromium.launch({ headless: false });
const context = await newInjectedContext(browser, {
// Constraints for the generated fingerprint (optional)
fingerprintOptions: {
devices: ['mobile'],
operatingSystems: ['ios'],
},
// Playwright's newContext() options (optional, random example for illustration)
newContextOptions: {
geolocation: {
latitude: 51.50853,
longitude: -0.12574,
},
},
});
const page = await context.newPage();
// ... your code using `page` here
})();
Aquí tienes el mismo ejemplo usando Puppeteer:
import puppeteer from 'puppeteer';
import { newInjectedPage } from 'fingerprint-injector';
(async () => {
const browser = await puppeteer.launch({ headless: false });
const page = await newInjectedPage(browser, {
// constraints for the generated fingerprint
fingerprintOptions: {
devices: ['mobile'],
operatingSystems: ['ios'],
},
});
// ... your code using `page` here
await page.goto('https://example.com');
})();
Si encuentras algún error o problema con cualquiera de las herramientas de fingerprinting, por favor abre un issue en GitHub. Si tienes preguntas, puedes hacerlas en Stack Overflow o contactar con [email protected]
¡Tus contribuciones de código son bienvenidas y serás alabado por toda la eternidad! Si tienes alguna idea para mejorar, abre un issue o crea un pull request. Para las directrices de contribución y el código de conducta, consulta CONTRIBUTING.md.
Este proyecto está licenciado bajo la Apache License 2.0 - consulta el archivo LICENSE.md para más detalles.