bb-browser: Biến Trình Duyệt Thành API Thực Thụ, Không Cần API Key Hay Scraper

07 tháng 4, 2026·5 phút đọc

bb-browser tạo ra cách tiếp cận mới cho việc truy xuất dữ liệu từ các nền tảng web như Twitter hay Zhihu bằng cách tận dụng trực tiếp trình duyệt Chrome đã đăng nhập. Giải pháp này vừa tránh bị chặn khi sử dụng scraper, vừa không phải xin API key giới hạn.

bb-browser: Biến Trình Duyệt Thành API Thực Thụ, Không Cần API Key Hay Scraper

bb-browser: Biến Trình Duyệt Thành API Thực Thụ, Không Cần API Key Hay Scraper

bb-browser là một công cụ mã nguồn mở cung cấp cách thức tiếp cận dữ liệu web hoàn toàn khác biệt: thay vì dùng API key giới hạn hay scraper dễ bị chặn, bb-browser tận dụng trình duyệt Chrome bạn đang dùng để thực hiện các truy vấn bằng hàm fetch() ngay trong tab trình duyệt đã đăng nhập.

Từ góc nhìn của website, đây chính là bạn đang duyệt web bình thường — giúp tránh hoàn toàn các cơ chế chống bot và giới hạn của API.

Điểm khác biệt của bb-browser so với scraper và Playwright

bb-browserPlaywright/SeleniumScraper (requests, Scrapy)
Trình duyệtChrome thật của bạnTrình duyệt headless ảoKhông dùng trình duyệt
Trạng thái đăng nhậpĐã đăng nhập sẵnCần đăng nhập hoặc inject cookieXử lý cookie thủ công
Phát hiện botKhông bị phát hiện (chính bạn)Dễ bị phát hiệnDễ bị chặn
Dấu vân tayDấu vân tay thậtDấu vân tay trình duyệt ảoKhông có dấu vân tay

Ý tưởng chủ đạo: bb-browser không chạy một trình duyệt mới mà kết nối tới Chrome đang chạy qua giao thức CDP (Chrome DevTools Protocol) để chèn lệnh vào tab hiện tại. Do đó, website nhìn thấy cookie, user-agent và các dấu hiệu khác đều là thật.

Kiến trúc hoạt động

AI Agent (Claude Code, Codex, Cursor)
          │ CLI hoặc MCP (stdio)
          ▼
bb-browser CLI ──HTTP──▶ Daemon ──CDP WebSocket──▶ Chrome thật
                             │
                     ┌───────┴────────┐
                     │ Bộ nhớ đệm sự kiện │
                     │ theo từng tab      │
                     └────────────────────┘

bb-browser chạy một daemon (mặc định lắng nghe tại 127.0.0.1:19824) giao tiếp với Chrome qua CDP WebSocket. Các lệnh CLI gửi tới daemon, sau đó daemon thực thi trên tab tương ứng.

Cài đặt và sử dụng cơ bản

Cài đặt bằng npm:

npm install -g bb-browser

Cập nhật bộ adapter do cộng đồng đóng góp:

bb-browser site update

Thử lệnh lấy danh sách trending trên Zhihu:

bb-browser site zhihu/hot

Nếu bạn đã đăng nhập Zhihu trên Chrome, tab mới mở sẽ lấy dữ liệu theo cookie của bạn.

Đầu ra cấu trúc

Tất cả lệnh hỗ trợ định dạng JSON và jq để lọc dữ liệu, ví dụ:

bb-browser site xueqiu/hot-stock 5 --jq '.items[] | {name, changePercent}'
# {"name":"云天化","changePercent":"2.08%"}
# {"name":"东芯股份","changePercent":"-7.60%"}

Các thao tác điều khiển trình duyệt

Ngoài việc dùng adapter, bb-browser cho phép bạn điều khiển trực tiếp trình duyệt:

  • bb-browser open https://example.com – mở URL mới
  • bb-browser snapshot -i – chụp cây truy cập (accessibility tree)
  • bb-browser click @3 – click phần tử trên trang
  • bb-browser fill @5 "hello" – điền dữ liệu vào input
  • bb-browser eval "document.title" – chạy mã JavaScript
  • bb-browser fetch URL --json – tải tài nguyên với xác thực
  • bb-browser screenshot – chụp ảnh màn hình

Công cụ hỗ trợ 36 nền tảng, 103 lệnh

bb-browser có bộ adapter đa dạng cho nhiều loại nền tảng:

  • Tìm kiếm: Google, Baidu, Bing, DuckDuckGo
  • Mạng xã hội: Twitter/X, Reddit, Weibo, Xiaohongshu, LinkedIn
  • Phát triển: GitHub, StackOverflow, Hacker News, npm, PyPI, arXiv, V2EX, Dev.to
  • Tin tức: BBC, Reuters, 36kr, Toutiao
  • Video: YouTube, Bilibili
  • Tài chính: Xueqiu, Yahoo Finance, Eastmoney
  • Kiến thức: Wikipedia, Zhihu

Mỗi adapter là một file JavaScript riêng, được cộng đồng phát triển và cập nhật. Bạn cũng có thể tự viết adapter mới cho website mình cần và đóng góp lên kho bb-sites.

Ba cấp độ phức tạp adapter

Dựa theo cách truy xuất dữ liệu, adapter được chia làm ba cấp độ:

Cấp độCách tiếp cậnVí dụThời gian phát triển
Cấp 1Dùng cookie fetch trực tiếpReddit, GitHub~1 phút
Cấp 2Trích xuất token Bearer + CSRFTwitter, Zhihu~3 phút
Cấp 3Injection Webpack hoặc Pinia storeTìm kiếm trên Twitter~10 phút

Tích hợp MCP Server cho AI

bb-browser có thể thiết lập làm MCP server, cho phép AI như Claude Code, Cursor truy cập web thông qua trình duyệt bạn đang dùng:

{
  "mcpServers": {
    "bb-browser": {
      "command": "npx",
      "args": ["-y", "bb-browser", "--mcp"]
    }
  }
}

Khi đó, AI có thể gửi lệnh tìm kiếm trên arXiv, Twitter, GitHub,... thông qua bb-browser, tận dụng toàn bộ quyền và thông tin đăng nhập thật của bạn.

Những điều cần lưu ý

  • Sử dụng tài khoản thật: bb-browser hoạt động thay bạn nên tần suất thao tác nếu quá cao có thể khiến tài khoản bị đánh dấu.
  • Bảo mật: Daemon mặc định chỉ lắng nghe localhost. Mở ra ngoài (0.0.0.0) có thể khiến người khác tùy chỉnh trình duyệt của bạn.
  • Với truy cập từ xa, nên dùng VPN như Tailscale hoặc ZeroTier.
  • Adapter có thể không cập nhật kịp: Vì là phát triển cộng đồng, adapter đôi khi bị lỗi khi website thay đổi.
  • Người dùng macOS cần chú ý IPv6, thêm tham số --host 127.0.0.1 khi chạy daemon.

Khi nào nên dùng bb-browser?

bb-browser không phù hợp để thu thập hàng triệu bản ghi như Scrapy, mà thích hợp hơn cho:

  • Cung cấp quyền duyệt web cho AI mà không cần xin từng API key.
  • Truy xuất nhanh dữ liệu đã đăng nhập trên nhiều nền tảng khác nhau.
  • Nghiên cứu đa nền tảng, truy vấn liên tục nhiều website trong vài phút.

Chỉ với một câu lệnh, bb-browser mang lại giải pháp thay thế cho việc viết scraper truyền thống mà vẫn không bị chặn.

Tham khảo


bb-browser mở ra một hướng tiếp cận mới linh hoạt, tiện lợi, khai thác tối đa trình duyệt bạn đang dùng để tương tác với web, rất hữu ích cho lập trình viên, nhà phát triển AI và người nghiên cứu dữ liệu tại Việt Nam và toàn cầu.

Bài viết được tổng hợp và biên soạn bằng AI từ các nguồn tin tức công nghệ. Nội dung mang tính tham khảo. Xem bài gốc ↗