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ư độc nhất, có thể được 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 cạo dữ liệu. Chúng tôi cung cấp khả năng tùy chỉnh sâu cho dấu vân tay trình duyệt, 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 cho các kịch bản như quản lý đa tài khoản, thu thập dữ liệu và bảo vệ quyền riêng tư, bằng cách sử dụng trình duyệt Chromium tự xây dựng của Scrapeless để hoàn toàn tránh bị phát hiện. Theo mặc định, việc sử dụng dịch vụ Trình duyệt cạo 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.
Các khả năng cốt lõi và giới hạn
Kiểm soát 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 các giá trị trả về cho
screen.width
vàscreen.height
để mô phỏng kích thước màn hình thiết bị cơ bản (phải tuân thủ tỷ lệ khung hình vật lý). - Hạn chế: Hiện tại không thể giả mạo tỷ lệ pixel thiết bị (DPR) hoặc các đặc tính màn hình Retina.
Khóa thuộc tính Nền tảng
- Khả năng: Cho phép đặt giá trị trả về cố định cho
navigator.platform
(chỉ hỗ trợ Windows/macOS/Linux), điều này ảnh hưởng đến logic phát hiện tính năng của 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ợ các điều chỉnh giới hạn đối với các tham số chuẩn được trình duyệt hiển thị một cách tự nhiê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.
Các kịch bản ứ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 phổ biến (Windows + Chrome) để vượt qua các chiến lược chống cạo dữ liệu cơ bản của trang web mục tiêu (ví dụ: danh sách đen User-Agent).
- Kiểm tra khả năng tương thích: Xác minh logic hiển thị cơ bản của trang web dưới 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ểu | Mô tả |
---|---|---|
userAgent | string | Đị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 client, ảnh hưởng đến việc điều chỉnh nội dung và chức năng. Giá trị mặc định: Theo trình duyệt |
platform | enum | 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 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á việc bật các chức năng liên quan đến hệ thống. Giá trị mặc định: Windows |
screen | object | Định nghĩa các tham số đặc tính 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 tới đối tượng JavaScript window.screen . |
screen.width | number | Chiều rộng màn hình vật lý (pixel), được ánh xạ tới thuộc tính screen.width , ảnh hưởng đến các truy vấn phương tiện và bố cục đáp ứng. Giá trị mặc định: Theo dấu vân tay ngẫu nhiên, giá trị tối thiểu 640. |
screen.height | number | Chiều cao màn hình vật lý (pixel), được ánh xạ tới thuộc tính screen.height , xác định đặc tính độ 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. |
localization | object | Kiểm soát 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ữ, khu vực 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.basedOnIp | boolean | Liệu có tự động đặt múi giờ và ngôn ngữ dựa trên IP hay không. |
localization.timezone | string | Một định danh múi giờ tuân thủ định dạng cơ sở dữ liệu múi giờ IANA (ví dụ: “Asia/Shanghai”), kiểm soát hành vi múi giờ mặc định của các đối tượng ngày JavaScript và đầu ra Intl.DateTimeFormat , đây 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ạ tới thuộc tính navigator.languages và tiêu đề yêu cầu HTTP Accept-Language , xác định logic chọn ngôn ngữ nội dung của trang web. Giá trị mặc định: “en”, “en-US” |
args | object | Chạy trình duyệt với các công tắc dòng lệnh (ví dụ: --window-size , --proxy-bypass-list , v.v., tìm hiểu thêm), Xin lưu ý rằng các đối số sau không được hỗ trợ: --load-extension, --user-data-dir, --fonts-dir, --remote-debugging-port |
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 client, ảnh hưởng đến việc điều chỉnh nội dung và chức năng.
Giá trị ví dụ:
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 chạy. Tham số này sẽ được sử dụng để phát hiện tính năng và đánh giá việc bật các chức năng liên quan đến hệ thống.
Các giá trị chấp nhận được ví dụ:
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 tính 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 tới đối tượng JavaScript window.screen
.
screen.width: Chiều rộng màn hình vật lý (pixel), ảnh hưởng đến các truy vấn phương tiện và bố cục đáp ứng, giá trị tối thiểu 640. screen.height: Chiều cao màn hình vật lý (pixel), xác định đặc tính độ phân giải thiết bị cùng với chiều rộng, giá trị tối thiểu 480.
Giá trị ví dụ:
width | height |
---|---|
1920 | 1080 |
1366 | 768 |
1280 | 720 |
768 | 1280 |
localization
Kiểu: object
Mô tả: Kiểm soát 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ữ, khu vực 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.basedOnIp: Liệu có tự động đặt múi giờ và ngôn ngữ dựa trên IP hay không.
localization.timezone: Một định danh múi giờ tuân thủ định dạng cơ sở dữ liệu múi giờ IANA, kiểm soát hành vi múi giờ mặc định của các đối tượng ngày JavaScript và đầu ra Intl.DateTimeFormat
, đây là một thành phần chính của dấu vân tay múi giờ.
Giá trị ví dụ:
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ạ tới thuộc tính navigator.languages
và tiêu đề yêu cầu HTTP Accept-Language
, xác định logic chọn ngôn ngữ nội dung của trang web.
Giá trị ví dụ:
["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
args
Kiểu: object
Mô tả: Chạy trình duyệt với các công tắc dòng lệnh, nhấp để tìm hiểu thêm, Xin lưu ý rằng các đối số sau không được hỗ trợ: --load-extension, --user-data-dir, --fonts-dir, --remote-debugging-port
Giá trị ví dụ:
- bỏ qua proxy:
'--proxy-bypass-list': 'example.com'
- đặt kích thước cửa sổ:
'--window-size': '1280,1024'
, nên đặt giống với dấu vân tayscreen
Mã ví dụ
const { ScrapelessClient } = require('@scrapeless-ai/sdk');
const puppeteer =require('puppeteer-core');
const client = new ScrapelessClient({ apiKey: 'API Key' });
// 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',
},
args: {
'--proxy-bypass-list': 'example.com',
'--window-size': '1280,1024' // set window size as the same as the screen fingerprint
}
}
// Create browser session and get WebSocket endpoint
const { browserWSEndpoint } = client.browser.create({
sessionName: 'sdk_test',
sessionTTL: 180,
proxyCountry: 'US',
sessionRecording: true,
fingerprint,
});
(async () => {
const browser = await puppeteer.connect({browserWSEndpoint});
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 đề cao việc tùy chỉnh dấu vân tay có trách nhiệm:
- Chỉ dành cho các kịch bản được ủy quyền hợp pháp (như thu thập dữ liệu tuân thủ của 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 để thực hiện gian lận trực tuyến hoặc xâm phạm quyền riêng tư của người dùng.