
Browser-Fingerprinting-Tools zur Anonymisierung Ihrer Scraper. Entwickelt von Apify.
fingerprint-suite ist eine handgefertigte Zusammenstellung von Werkzeugen zur Erzeugung und Injektion von Browser-Fingerprints.
Heutige Websites setzen zunehmend Fingerprinting ein, um Nutzer zu verfolgen und zu identifizieren.
Mit Hilfe von fingerprint-suite können Sie Browser-Fingerprints erzeugen und in Ihren Browser injizieren, sodass Ihre Scraper unter dem Radar fliegen können.
Möchten Sie mit uns an unseren Fingerprinting-Werkzeugen oder ähnlichen Projekten arbeiten? Wir stellen ein!
fingerprint-suite ist ein modulares Toolkit zur Erzeugung und Injektion von Browser-Fingerprints. Es besteht aus den folgenden npm-Paketen, die Sie einzeln oder gemeinsam verwenden können:
header-generator: erzeugt konfigurierbare, realistische HTTP-Headerfingerprint-generator: erzeugt realistische Browser-Fingerprints, die sich auf die HTTP-Header und die Browser-JS-APIs auswirkenfingerprint-injector: injiziert Browser-Fingerprints in Ihre von Playwright oder Puppeteer verwaltete Browser-Instanzgenerative-bayesian-network: unsere schnelle Implementierung eines generativen Bayes'schen Netzwerks zur Erzeugung realistischer Browser-FingerprintsDas folgende Beispiel zeigt, wie Sie die Fingerprinting-Werkzeuge verwenden, um Ihre von Playwright verwaltete Chromium-Instanz zu tarnen.
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
})();
Hier ist dasselbe Beispiel mit 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');
})();
Wenn Sie einen Fehler oder ein Problem mit einem der Fingerprinting-Werkzeuge finden, reichen Sie bitte ein Issue auf GitHub ein. Bei Fragen können Sie Stack Overflow nutzen oder [email protected] kontaktieren.
Ihre Code-Beiträge sind willkommen, und Sie werden für alle Ewigkeit gepriesen! Wenn Sie Ideen für Verbesserungen haben, reichen Sie entweder ein Issue ein oder erstellen Sie einen Pull Request. Richtlinien für Beiträge und den Verhaltenskodex finden Sie in CONTRIBUTING.md.
Dieses Projekt ist unter der Apache License 2.0 lizenziert – siehe die Datei LICENSE.md für Details.