Scraping BrowserTính năngQuyền riêng tư và chống phát hiện nâng caoDấu vân tay tùy chỉnh

Dấu vân tay tùy chỉnh

Giới thiệu

Dấu vân tay trình duyệt sử dụng thông tin cấu hình trình duyệt và thiết bị của bạn để tạo ra một “dấu vân tay kỹ thuật số” gần như duy nhất, có thể được sử dụng để theo dõi hoạt động trực tuyến của bạn ngay cả khi không có cookie. Tin tốt là cấu hình dấu vân tay là tùy chọn trong trình duyệt thu thập dữ liệu. Chúng tôi cung cấp khả năng tùy chỉnh sâu rộng cho dấu vân tay trình duyệt, chẳng hạn như các tham số cốt lõi như user agent của trình duyệt, múi giờ, ngôn ngữ và độ phân giải màn hình. Chức năng có thể được mở rộng thông qua các tham số khởi động tùy chỉnh. Điều này phù hợp với các trường hợp như quản lý nhiều tài khoản, thu thập dữ liệu và bảo vệ quyền riêng tư, sử dụng trình duyệt Chromium tự xây dựng của scrapeless để tránh hoàn toàn việc phát hiện. Theo mặc định, việc sử dụng dịch vụ Trình duyệt Thu thập dữ liệu của chúng tôi sẽ tạo ra một dấu vân tay ngẫu nhiên cho mỗi phiên.

Khả năng cốt lõi và hạn chế

Điều khiển User-Agent

  • Khả năng: Hỗ trợ tùy chỉnh chuỗi User-Agent trong tiêu đề yêu cầu HTTP, cho phép định nghĩa phiên bản công cụ trình duyệt và loại hệ điều hành.
  • Hạn chế: Hiện tại không thể sửa đổi chi tiết công cụ hiển thị (ví dụ: các tính năng hiển thị WebGL).

Ánh xạ độ phân giải màn hình

  • Khả năng: Hỗ trợ tùy chỉnh giá trị trả về cho screen.widthscreen.height để mô phỏng kích thước màn hình thiết bị cơ bản (phải phù hợp với tỷ lệ khung hình vật lý).
  • Hạn chế: Hiện tại không thể giả mạo tỷ lệ điểm ảnh thiết bị (DPR) hoặc đặc điểm màn hình Retina.

Khóa thuộc tính Platform

  • Khả năng: Cho phép đặt giá trị trả về cố định cho navigator.platform (chỉ hỗ trợ Windows/macOS/Linux), ảnh hưởng đến logic phát hiện tính năng trình duyệt.
  • Hạn chế: Hiện tại không thể sửa đổi số phiên bản hệ điều hành hoặc thông tin kiến trúc phần cứng.

Các hạn chế khác:

Tính năng này chỉ hỗ trợ điều chỉnh hạn chế đối với các tham số tiêu chuẩn được trình duyệt hiển thị sẵn. Nó không liên quan đến dấu vân tay cấp phần cứng hoặc che giấu hành vi nâng cao.

Trường hợp ứng dụng

  • Cách ly đa tài khoản cơ bản: Tránh phát hiện liên kết tài khoản đơn giản bằng cách phân biệt User-Agent và độ phân giải màn hình.
  • Thu thập dữ liệu nhẹ: Mô phỏng môi trường trình duyệt chính thống (Windows + Chrome) để bỏ qua các chiến lược chống thu thập dữ liệu cơ bản của trang web mục tiêu (ví dụ: danh sách đen User-Agent).
  • Kiểm thử khả năng tương thích: Xác minh logic hiển thị cơ bản của trang web trên các hệ điều hành (Windows/macOS) và kích thước màn hình khác nhau.

Hướng dẫn vận hành

Mô tả tham số dấu vân tay

Tên tham sốKiểuMô tả
userAgentstringĐịnh nghĩa chuỗi User-Agent trong tiêu đề yêu cầu HTTP của trình duyệt, chứa thông tin nhận dạng chính như công cụ trình duyệt, số phiên bản và hệ điều hành. Các trang web sử dụng giá trị này để xác định môi trường máy khách, ảnh hưởng đến việc thích ứng nội dung và chức năng. Giá trị mặc định: Theo trình duyệt
platformenumChỉ định giá trị trả về của thuộc tính JavaScript navigator.platform, cho biết loại hệ điều hành của môi trường thời gian chạy. Các giá trị tùy chọn là “Windows”, “macOS” hoặc “Linux”. Tham số này sẽ được sử dụng để phát hiện tính năng và đánh giá sự cho phép của các chức năng liên quan đến hệ thống. Giá trị mặc định: Windows
screenobjectĐịnh nghĩa các tham số đặc điểm vật lý của thiết bị hiển thị được trình duyệt báo cáo, được ánh xạ trực tiếp đến đối tượng JavaScript window.screen.
screen.widthnumberChiều rộng màn hình vật lý (pixel), được ánh xạ đến thuộc tính screen.width, ảnh hưởng đến truy vấn phương tiện và bố cục phản hồi. Giá trị mặc định: Theo dấu vân tay ngẫu nhiên, giá trị tối thiểu 640.
screen.heightnumberChiều cao màn hình vật lý (pixel), được ánh xạ đến thuộc tính screen.height, xác định đặc điểm độ phân giải thiết bị cùng với chiều rộng. Giá trị mặc định: Theo dấu vân tay ngẫu nhiên, giá trị tối thiểu 480.
localizationobjectĐiều khiển cấu hình môi trường bản địa hóa của trình duyệt, bao gồm các tham số ngôn ngữ, vùng và múi giờ, ảnh hưởng đến định dạng hiển thị và hành vi bản địa hóa nội dung.
localization.timezonestringMột định danh múi giờ phù hợp với định dạng cơ sở dữ liệu múi giờ IANA (ví dụ: “Asia/Shanghai”), điều khiển hành vi múi giờ mặc định của các đối tượng ngày JavaScript và đầu ra Intl.DateTimeFormat, là một thành phần chính của dấu vân tay múi giờ. Giá trị mặc định: America/New_York
localization.languages[string]Danh sách ưu tiên ngôn ngữ được trình duyệt hỗ trợ, được ánh xạ đến thuộc tính navigator.languages và tiêu đề yêu cầu HTTP Accept-Language, xác định logic lựa chọn ngôn ngữ nội dung của trang web. Giá trị mặc định: “en”, “en-US”

userAgent

Kiểu: string Mô tả: Định nghĩa chuỗi User-Agent trong tiêu đề yêu cầu HTTP của trình duyệt, chứa thông tin nhận dạng chính như công cụ trình duyệt, số phiên bản và hệ điều hành. Các trang web sử dụng giá trị này để xác định môi trường máy khách, ảnh hưởng đến việc thích ứng nội dung và chức năng.

Ví dụ về giá trị:

  • Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.6834.83 Safari/537.36
  • Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.6834.83 Safari/537.36

platform

Kiểu: enum Mô tả: Chỉ định giá trị trả về của thuộc tính JavaScript navigator.platform, cho biết loại hệ điều hành của môi trường thời gian chạy. Tham số này sẽ được sử dụng để phát hiện tính năng và đánh giá sự cho phép của các chức năng liên quan đến hệ thống.

Ví dụ về giá trị chấp nhận được:

Giá trịMô tả
”Windows”Hệ điều hành Windows, giá trị mặc định
”macOS”Hệ điều hành macOS
”Linux”Hệ điều hành Linux

screen

Kiểu: object Mô tả: Định nghĩa các tham số đặc điểm vật lý của thiết bị hiển thị được trình duyệt báo cáo, được ánh xạ trực tiếp đến đối tượng JavaScript window.screen.

screen.width: Chiều rộng màn hình vật lý (pixel), ảnh hưởng đến truy vấn phương tiện và bố cục phản hồi, giá trị tối thiểu 640. screen.height: Chiều cao màn hình vật lý (pixel), xác định đặc điểm độ phân giải thiết bị cùng với chiều rộng, giá trị tối thiểu 480.

Ví dụ về giá trị:

widthheight
19201080
1366768
1280720
7681280

localization

Kiểu: object Mô tả: Điều khiển cấu hình môi trường bản địa hóa của trình duyệt, bao gồm các tham số ngôn ngữ, vùng và múi giờ, ảnh hưởng đến định dạng hiển thị và hành vi bản địa hóa nội dung.

localization.timezone: Một định danh múi giờ phù hợp với định dạng cơ sở dữ liệu múi giờ IANA, điều khiển hành vi múi giờ mặc định của các đối tượng ngày JavaScript và đầu ra Intl.DateTimeFormat, là một thành phần chính của dấu vân tay múi giờ.

Ví dụ về giá trị:

  • America/New_York
  • Asia/Shanghai
  • Europe/London

localization.languages: Danh sách ưu tiên ngôn ngữ được trình duyệt hỗ trợ, được ánh xạ đến thuộc tính navigator.languages và tiêu đề yêu cầu HTTP Accept-Language, xác định logic lựa chọn ngôn ngữ nội dung của trang web.

Ví dụ về giá trị:

  • ["fr-FR", "en-US", "zh-CN"]
  • ["en-US", "es-ES", "de-DE"]

Tham khảo: danh sách các múi giờ cơ sở dữ liệu tz

Ví dụ mã

const puppeteer =require('puppeteer-core');
 
// custom browser fingerprint
const fingerprint = {
    userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.1.2.3 Safari/537.36',
    platform: 'Windows',
    screen: {
        width: 1280, height: 1024
    },
    localization: {
        languages: ['zh-HK', 'en-US', 'en'], timezone: 'Asia/Hong_Kong',
    }
}
 
const query = new URLSearchParams({
  token: 'APIKey',// required
  session_ttl: 180,
  proxy_country: 'ANY',
  fingerprint: encodeURIComponent(JSON.stringify(fingerprint)),
});
 
const connectionURL = `wss://browser.scrapeless.com/browser?${query.toString()}`;
 
(async () => {
    const browser = await puppeteer.connect({browserWSEndpoint: connectionURL});
    const page = await browser.newPage();
    await page.goto('https://www.scrapeless.com');
    const info = await page.evaluate(() => {
        return {
            screen: {
                width:screen.width,
                height:screen.height,
            },
            userAgent:navigator.userAgent,
            timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,
            languages:navigator.languages
        };
    });
console.log(info);
    await browser.close();
})();

Tuyên bố đạo đức

Chúng tôi ủng hộ việc tùy chỉnh dấu vân tay có trách nhiệm:

  • Chỉ dành cho các trường hợp được pháp luật cho phép (chẳng hạn như thu thập dữ liệu tuân thủ doanh nghiệp, kiểm tra kiểm soát rủi ro nội bộ).
  • Nghiêm cấm sử dụng dấu vân tay giả mạo để tham gia vào hành vi gian lận trực tuyến hoặc xâm phạm quyền riêng tư của người dùng.