Chuyển đến nội dung

Bảng giá và lưu lượng

Trình duyệt hosted tính phí theo GB lưu lượng, trừ từ số dư trả trước. Khoản phí đó gồm những gì, điều gì được tính là lưu lượng, và cách dùng ít hơn.

Bảng giá

  • €1.00 mỗi GB, đã bao gồm proxy dân cư. Mặc định, mọi phiên đều ra internet qua một IP dân cư: một kết nối gia đình thật của một nhà mạng dân dụng, không phải địa chỉ datacenter hay hosting. Khoản €1.00 chính là để trả cho lưu lượng đó; không có hóa đơn proxy riêng.
  • Lưu lượng được đo giữa trình duyệt và internet, tính gộp cả upload lẫn download (1 GB = 109 byte). Xem những gì được tính là lưu lượng.
  • Không tính phí theo thời gian, số phiên hay số message CDP.
  • Dịch vụ giải thử thách bằng key của chúng tôi (tắt nếu bạn không dùng): mỗi thử thách được giải tính theo giá gốc của dịch vụ giải × 1.5, trừ vào số dư của bạn.
  • Trả trước: nạp tiền trong dashboard. Một trình duyệt cần số dư tối thiểu €0.50 để khởi động, và mỗi phiên bị giới hạn ở mức số dư có thể chi trả vào lúc phiên bắt đầu, dùng chung giữa các trình duyệt bạn đang chạy (nếu maxGb của bạn thấp hơn thì áp dụng giá trị đó). Trình duyệt đang chạy sẽ bị dừng khi số dư về 0 (mức sử dụng được báo cáo khoảng mỗi 15 giây, nên lần báo cáo cuối có thể khiến số dư xuống dưới 0 một chút).

Những gì được tính là lưu lượng

Mọi byte mà trình duyệt gửi tới hoặc nhận về từ một trang web đều được đếm trên đường truyền, giống cách một nhà cung cấp proxy tính. Với một trang thông thường, điều đó có nghĩa là:

  • Được tính: bản thân trang và mọi thứ nó tải: script, stylesheet, hình ảnh, font, video, lệnh gọi API, quảng cáo và tracker, WebSocket, cùng với request header, cookie và phần overhead mã hóa (TLS) của mỗi kết nối. Trang vẫn tiếp tục tải trong lúc bạn chờ, nên polling chạy nền và analytics cũng bị tính.
  • Không tính: kết nối CDP giữa code của bạn và trình duyệt (lệnh, kết quả, ảnh chụp màn hình, PDF, nội dung trang bạn đọc ra), chế độ xem trực tiếp (live view) trong dashboard, và mọi thứ trình duyệt không hề tải về (request bạn chặn, file được lấy từ cache của chính trình duyệt).

Ước lượng sơ bộ: một trang văn bản nhẹ tốn ít hơn hẳn 1 MB, một trang tin tức hay trang bán hàng thông thường tốn 2 đến 5 MB, còn một single-page app nặng hoặc bất cứ thứ gì có video thì từ 10 MB trở lên. Với giá €1.00 mỗi GB, 1.000 trang, mỗi trang 3 MB, là khoảng 3 GB. Phiên của chính bạn sẽ cho thấy số liệu thực: dashboard liệt kê lưu lượng của từng phiên cùng 20 site tốn nhiều byte nhất, và maxGb đặt giới hạn cho một phiên để một trang mất kiểm soát không thể ngốn hết số dư của bạn.

Giảm lưu lượng

Phần lớn dung lượng của một trang thường là những thứ script không cần đến. Những cách tiết kiệm nhiều nhất, theo thứ tự:

  1. Chặn hình ảnh, media và font. Chúng thường chiếm từ một nửa trang trở lên. Hãy chặn chúng theo mẫu URL ngay trong trình duyệt, khi đó chúng không bao giờ rời khỏi trình duyệt nên cũng không bao giờ bị tính phí — và trình duyệt vẫn giữ được cache:
javascript
// Playwright: block by URL pattern over CDP (keeps the browser cache on)
const cdp = await context.newCDPSession(page);
await cdp.send("Network.enable");
await cdp.send("Network.setBlockedURLs", {
  urls: ["*.png", "*.jpg", "*.jpeg", "*.gif", "*.webp", "*.svg", "*.woff", "*.woff2", "*.ttf", "*.mp4", "*.webm"],
});

// Puppeteer: the same, through its CDP session
const client = await page.createCDPSession();
await client.send("Network.enable");
await client.send("Network.setBlockedURLs", { urls: ["*.png", "*.jpg", "*.jpeg", "*.gif", "*.webp", "*.woff2"] });

Đừng dùng page.route() / context.route() hay request interception của Puppeteer chỉ để bỏ request: chúng tắt cache của trình duyệt, nên trang nào cũng phải tải lại script và style, tốn nhiều hơn phần hình ảnh bạn tiết kiệm được. Chỉ dùng chúng khi bạn cần sửa request. Tùy chọn adblock cũng chặn sẵn quảng cáo và tracker cho bạn.

  1. Chặn quảng cáo, analytics và tracker. Hủy các request tới những domain bên thứ ba mà bạn không cần. Danh sách top site của phiên trong dashboard cho biết domain nào tốn của bạn nhiều nhất.
  2. Đừng chờ lâu hơn mức cần thiết. waitUntil: "networkidle" chờ mọi thứ mà trang tải, kể cả quảng cáo. Nên dùng "domcontentloaded" rồi chờ đúng phần tử bạn thực sự cần.
  3. Đóng trình duyệt ngay khi xong việc. Một trang còn mở sẽ tiếp tục polling ở chế độ nền. Hạ idleTimeoutSec xuống để một phiên bị bỏ quên tự đóng.
  4. Dùng lại một trình duyệt cho nhiều trang. Nhờ cache, script và style dùng chung giữa các trang trên cùng một site chỉ phải tải một lần, không phải mỗi trang một lần. Hãy điều hướng trong cùng một phiên thay vì mở phiên mới cho từng URL.
  5. Gọi API của site khi có thể. Khi trình duyệt đã có một phiên dùng được trên site, một lệnh fetch() từ bên trong trang để lấy đúng phần JSON bạn cần chỉ nặng bằng một phần nhỏ so với tải lại cả trang.
  6. Đặt giới hạn. Đặt maxGb cho mọi phiên để một trang nặng bất ngờ sẽ dừng lại thay vì rút cạn số dư của bạn.

Chặn tài nguyên hoạt động tốt với hầu hết các site, nhưng một số ít site kiểm tra xem hình ảnh hoặc font có thực sự được tải hay không. Nếu một site hoạt động khác đi khi bật chặn, hãy cho phép lại loại tài nguyên đó cho site ấy.

Muốn xem nó chạy thử trước? Playground chạy một script trong trình duyệt cloud ngay từ dashboard của bạn, với live view, output console và ảnh chụp màn hình đặt cạnh nhau.