0

[Open Source] #28 - Maxun: Kỷ nguyên Browser Automation không mã nguồn và sức mạnh từ Playwright & AI

Trong thế giới dữ liệu, Web Scraping (trích xuất dữ liệu web) luôn là một bài toán "khó nhằn" với các rào cản từ cơ chế chống bot, thay đổi cấu trúc DOM liên tục cho đến việc quản lý hạ tầng trình duyệt tốn kém tài nguyên. Maxun xuất hiện như một lời giải hiện đại, kết hợp sức mạnh của PlaywrightGenerative AI để biến việc tự động hóa trình duyệt từ một cực hình thành một trải nghiệm "No-code" nhưng vẫn giữ được độ tùy biến cực cao của một hệ thống chuyên nghiệp.

Dưới góc độ kỹ sư, Maxun không chỉ là một công cụ cào dữ liệu; nó là một hệ thống Browser-as-a-Service được thiết kế bài bản, giải quyết triệt để bài toán về hiệu suất và khả năng tàng hình (Stealth) trước các hệ thống bảo mật phức tạp.

Github: https://github.com/maxun-io/maxun

🛠️ 1. Nền tảng công nghệ: TypeScript & Browser-as-a-Service

Maxun sử dụng một Stack công nghệ hiện đại, ưu tiên tính chặt chẽ của dữ liệu và khả năng xử lý bất đồng bộ quy mô lớn:

  • Lõi tự động hóa: Playwright. Khác với Selenium già cỗi, Playwright cung cấp tốc độ thực thi nhanh hơn, ổn định hơn và hỗ trợ tốt các giao thức hiện đại như CDP (Chrome DevTools Protocol).
  • Backend & Type Safety: 93% mã nguồn là TypeScript chạy trên Node.js. Việc sử dụng Sequelize (ORM) giúp quản lý các mối quan hệ dữ liệu phức tạp trong PostgreSQL một cách an toàn.
  • Infrastructure:
    • Redis: Quản lý hàng đợi tác vụ và trạng thái robot thời gian thực.
    • MinIO (S3 Compatible): Lưu trữ các tệp tin nhị phân (Ảnh chụp màn hình, tệp PDF trích xuất) giúp hệ thống dễ dàng scale-out lên môi trường Cloud.
  • Hybrid AI: Tích hợp linh hoạt giữa các "ông lớn" (Claude, GPT) và các mô hình chạy cục bộ qua Ollama, cho phép trích xuất dữ liệu bằng ngôn ngữ tự nhiên mà không cần cấu hình CSS Selector thủ công.

🏗️ 2. Trụ cột kiến trúc: Decoupled & Workflow-driven

Hệ thống của Maxun được thiết kế theo mô hình tách rời (Decoupled), đảm bảo tính module hóa cực cao:

Browser-as-a-Service (BaaS)

Thay vì chạy trình duyệt trực tiếp trên cùng một tiến trình với Web Server, Maxun tách riêng service trình duyệt. Các kết nối được thực hiện qua WebSocket. Tư duy này cho phép cô lập tài nguyên: nếu một trang web nặng làm treo trình duyệt, nó sẽ không làm sập toàn bộ hệ thống quản lý.

Workflow Interpreter (Bộ thông dịch quy trình)

Mọi tương tác của người dùng (Click, Scroll, Typing) được Maxun chuẩn hóa thành một schema JSON theo cấu trúc "Where-What" (Ở đâu - Làm gì). Cấu trúc này giúp robot có khả năng "Replay" (phát lại) các hành vi phức tạp của con người một cách chính xác trên nhiều môi trường khác nhau.


🔄 3. Phân tích các kỹ thuật "Pro-level" trong mã nguồn

1. Kỹ thuật "Tàng hình" (Stealth Engineering)

Maxun tích hợp các plugin stealth cao cấp và kỹ thuật Fingerprint Injection. Robot của Maxun không chỉ đơn thuần là bot; nó giả lập các thông số phần cứng, phông chữ và hành vi di chuyển chuột để vượt qua các lớp kiểm tra của Cloudflare hay Akamai.

2. DOM Snapshots & Replay (rrweb)

Đây là một kỹ thuật cực kỳ thông minh. Thay vì stream video (ngốn băng thông), Maxun sử dụng rrweb để chụp lại trạng thái cây DOM và phát lại trên dashboard của người dùng. Bạn có thể theo dõi robot đang làm gì theo thời gian thực với độ trễ cực thấp.

3. Heuristic Data Detection

Trong file scraper.js, Maxun áp dụng các thuật toán Heuristic để tự động nhận diện danh sách và bảng dữ liệu dựa trên mật độ văn bản và diện tích phần tử, giúp giảm thiểu việc cấu hình thủ công cho các trang web có cấu trúc phức tạp.


📊 4. Workflow: Luồng xử lý từ URL đến Dữ liệu sạch

Dưới đây là sơ đồ trình tự thể hiện vòng đời hoạt động của một Robot trong Maxun:

image.png


⚖️ 5. So sánh chiến lược

Tiêu chí Maxun Scrapy / Selenium (Traditional)
Cấu hình No-code / AI-driven Viết code thủ công
Xử lý JS Mặc định (Playwright) Phải cài thêm plugin phức tạp
Anti-bot Stealth tích hợp sẵn Tự xử lý proxy/header
Lưu trữ Đa kênh (S3, GSheets, Webhook) Thường chỉ xuất file CSV/JSON

✅ Kết luận: Tại sao Maxun là hình mẫu?

Maxun là minh chứng cho việc kết hợp đúng đắn giữa Browser AutomationAI. Việc áp dụng kiến trúc BaaS, kỹ thuật rrweb để tối ưu băng thông và hệ thống Worker tách biệt giúp dự án này trở thành một nền tảng ổn định cho cả cá nhân lẫn doanh nghiệp. Đối với các kỹ sư dữ liệu, đây là dự án mẫu mực để nghiên cứu về cách xử lý các tác vụ I/O nặng và kỹ thuật vượt rào cản trên không gian mạng.


Hy vọng bản phân tích chuyên sâu này mang lại giá trị thực tế cho bạn. Đừng quên UpvoteFollow mình để đón xem những dự án kỹ thuật thú vị tiếp theo!


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí