11 điểm bởi GN⁺ 2026-03-11 | 4 bình luận | Chia sẻ qua WhatsApp
  • Cloudflare cung cấp endpoint /crawl mới của Browser Rendering dưới dạng beta công khai, cho phép thu thập toàn bộ website chỉ với một lần gọi API
  • Khi gửi URL khởi đầu, hệ thống sẽ tự động khám phá các trang, render bằng trình duyệt headless, và trả về kết quả ở định dạng HTML, Markdown, JSON
  • Cung cấp nhiều tính năng như đầu ra JSON có cấu trúc dựa trên Workers AI, kiểm soát phạm vi bằng độ sâu crawl, giới hạn số trang, mẫu wildcard, cùng crawl gia tăng và chế độ tĩnh
  • Tuân thủ quy tắc robots.txt và cũng hỗ trợ crawl-delay để tránh lưu lượng bất thường
  • Có thể dùng cho huấn luyện mô hình, xây dựng pipeline RAG, nghiên cứu và giám sát nội dung trên toàn bộ website

Tổng quan về endpoint /crawl

  • Endpoint /crawl mới được bổ sung vào dịch vụ Browser Rendering của Cloudflare cung cấp khả năng duyệt toàn bộ website và thu thập nội dung chỉ với một lần gọi API
    • Người dùng chỉ cần gửi URL khởi đầu, hệ thống sẽ tự động lần theo các liên kết, render trang và trả về kết quả
    • Có thể chọn định dạng trả về là HTML, Markdown, hoặc JSON có cấu trúc
  • Tính năng này hiện được cung cấp ở trạng thái beta công khai (open beta) và có thể dùng trên cả gói Workers Free và Paid
  • Tác vụ crawl được thực hiện theo cách bất đồng bộ (asynchronous)
    • Sau khi gửi URL, người dùng sẽ nhận được job ID và có thể truy vấn kết quả khi quá trình xử lý hoàn tất
    • Các trang được xử lý tuần tự và có thể kiểm tra dần các kết quả đã hoàn thành

Tính năng chính

  • Hỗ trợ nhiều định dạng đầu ra
    • Trả về kết quả ở nhiều định dạng như HTML, Markdown, JSON
    • Định dạng JSON được cung cấp dưới dạng dữ liệu có cấu trúc thông qua Workers AI
  • Kiểm soát phạm vi crawl (crawl scope controls)
    • Có thể thiết lập độ sâu crawl (depth), giới hạn số trang, và bao gồm/loại trừ theo mẫu URL
  • Tự động khám phá trang (automatic page discovery)
    • Tự động khám phá URL dựa trên sitemap, liên kết trên trang, hoặc cả hai
  • Crawl gia tăng (incremental crawling)
    • Dùng tham số modifiedSincemaxAge để bỏ qua các trang không thay đổi, giúp tiết kiệm thời gian và chi phí
  • Chế độ tĩnh (static mode)
    • Khi đặt render: false, hệ thống không khởi chạy trình duyệt mà chỉ lấy HTML tĩnh, cho phép crawl nhanh các website tĩnh
  • Bot hoạt động đúng chuẩn (well-behaved bot)
    • Tuân thủ các chỉ dẫn trong robots.txt và cũng nhận biết thiết lập crawl-delay

Ứng dụng và tài liệu tham khảo

Các gói hỗ trợ

  • Có thể dùng trên cả gói Workers Free và Paid

4 bình luận

 
hmmhmmhm 2026-03-11

Mình thử qua nhẹ rồi, có vẻ nó vẫn chưa vượt được chặn bot, nên chắc hiện tại mình vẫn sẽ ưu tiên dùng apify hoặc zyte hơn.. haha

 
xguru 2026-03-11

Cái này có xuyên luôn cả tính năng chặn bot của Cloudflare không?
Là vừa bán giáo vừa bán khiên à??
Thấy hơi lạ đó haha

 
eoeoe 2026-03-12

Đúng là cảm giác như bắt đầu chơi Everybody's Marble vậy đó hahaha
Nào là vô hiệu hóa khả năng phòng thủ của lá bài nào đó, rồi vô hiệu hóa năng lực đặc biệt nào đó....

 
GN⁺ 2026-03-11
Ý kiến trên Hacker News
  • Theo kinh nghiệm của tôi, trên các trang được Cloudflare bảo vệ thì thứ này không hoạt động
    Đáng tiếc là kiểu như tự tạo ra vấn đề rồi lại bán giải pháp

    • Có lẽ sẽ ổn nếu chỉ cần vượt qua bot protection của Azure
  • Khá bất ngờ là Cloudflare không lưu trữ phiên bản đã được scrape sẵn của các website dùng proxy của họ
    Ví dụ, họ hoàn toàn có thể cung cấp theo dạng như https://www.example.com/cdn-cgi/cached-contents.json, vì nội dung đã có sẵn trong cache rồi nên tôi nghĩ đâu cần phải đi qua dịch vụ hay API scraping làm gì
    Tất nhiên chắc hẳn có lý do để họ không làm vậy, nhưng việc đây không phải tùy chọn mặc định vẫn khá bất ngờ

    • Công khai kiểu cache dump này sẽ phá vỡ hoàn toàn các giả định về quyền riêng tư và bản quyền của nội dung gốc
      Có thể thêm kiểm soát truy cập, nhưng như vậy rốt cuộc lại thành tạo ra một CDN API phức tạp mà chẳng ai mong muốn, chưa kể còn phát sinh vấn đề pháp lý
      Từ “JSON tiện lợi” đến “giao toàn bộ website cho AI scraper” chỉ cách nhau một bước rất nhỏ
    • Chuyển sang JSON tốn CPU, và nếu lưu kết quả thì dung lượng cache sẽ tăng gấp đôi
      Nếu chỉ chuyển đổi khi có yêu cầu thì vẫn có thể giảm request tới máy chủ gốc mà vẫn giữ hiệu quả cache
      Khi tôi làm ở CDN, chúng tôi dùng 'second hit caching' để tăng cache hit rate — tức là chỉ lưu vào cache khi có request thứ hai
    • Không hoàn toàn giống hệt, nhưng Cloudflare thực ra đã cung cấp chức năng tương tự
      Nếu bật Markdown for Agents, khi hệ thống AI yêu cầu text/markdown thì HTML sẽ được chuyển sang Markdown theo thời gian thực
    • Thực ra cũng có khả năng là nội bộ họ đã cung cấp nội dung công khai dựa trên cache theo cách này rồi
    • Tuy vậy, cách này có thể hiệu quả với các site đơn giản, còn với những site phức tạp như SPA thì vẫn cần dịch vụ scraping có render bằng trình duyệt
  • Việc Cloudflare vừa bán giải pháp chống scraping vừa bán dịch vụ scraping nghe cứ như xã hội đen vậy
    Điều đó chỉ khả thi nhờ ảnh hưởng của họ trên toàn bộ Internet

    • Không phải vậy. Điều này đã được giải thích trong tài liệu chính thức
    • DNS miễn phí chỉ là một phần nhỏ, quyền lực thực sự nằm ở dịch vụ cache, routing và chống DDoS
      DNS là để thu thập dữ liệu và xây dựng 'hình ảnh tốt đẹp'
    • Họ không đơn thuần bán chống scraping, mà là bán giải pháp chống DDoS cho web
    • Có vẻ Cloudflare đang muốn đóng vai bên trung gian giữa publisher và các công ty AI
      Publisher ở sau Cloudflare, còn nếu công ty AI muốn dữ liệu thì sẽ phải trả tiền để truy cập thông qua Cloudflare
      Tệp khách hàng chính không phải người dùng phổ thông mà là các công ty AI
    • Endpoint /crawl có tôn trọng robots.txt
      Nghĩa là các URL bị cấm crawl sẽ được đánh dấu là "status": "disallowed" trong phản hồi
  • Việc công khai một crawl endpoint có cấu trúc cho cảm giác như là bước tiến hóa tự nhiên của robots.txt hay sitemap
    Nếu có nhiều site hơn cung cấp những điểm vào cho máy đọc như vậy, việc lập chỉ mục sẽ hiệu quả hơn rất nhiều
    Hiện giờ các crawler đang lãng phí rất nhiều tài nguyên vì liên tục phải khám phá lại cùng một cấu trúc

    • Nếu mọi người tiếp tục dùng REST, có lẽ sự lãng phí trong việc lập chỉ mục sẽ giảm đi rất nhiều
      Tôi thích cách thiết kế API hướng đến con người, rồi để các nhà cung cấp LLM tối ưu ở tầng trên
    • Thực ra semantic HTML đã làm vai trò đó rồi
      HTML và DOM về bản chất là cấu trúc để máy đọc
      Không cần phát minh cái mới, chỉ cần tận dụng đúng các công nghệ sẵn có là được
    • Những bên hưởng lợi từ việc crawl kém hiệu quả thực ra chỉ có các nhà cung cấp giải pháp anti-bot
    • Nhưng kiểu cấu trúc này cũng có thể làm trầm trọng hơn các cuộc tấn công chuỗi cung ứng
      Nó có thể bị lạm dụng theo kiểu hiển thị trang bình thường cho con người, nhưng lại đưa ra trang khác cho bot
    • Rốt cuộc, việc hiển thị nội dung khác nhau cho crawler và cho con người sẽ tạo ra những vấn đề mang tính nền tảng
  • Đáng lẽ có thể dùng cho mục đích lưu trữ web, nên việc không hỗ trợ định dạng WARC khá đáng tiếc
    Nó hẳn sẽ hữu ích cho nhà báo hoặc nhà nghiên cứu

  • Máy chủ gốc vẫn có thể phát hiện và chặn các request Browser Rendering của Cloudflare
    Có thể phân biệt qua header CF-Worker, và có thể lọc bằng quy tắc WAF hoặc middleware
    Tuy nhiên, các request này đến từ ASN 13335 của Cloudflare và có bot score thấp, nên các biện pháp phòng thủ chỉ dựa trên điểm số đơn giản sẽ không hiệu quả
    Cuối cùng thì giới hạn tốc độ ở tầng ứng dụng và phân tích hành vi vẫn hiệu quả hơn
    Mâu thuẫn về mặt cấu trúc là có thật, nhưng cũng khá giống với việc công cụ tìm kiếm cung cấp công cụ cho webmaster

    • Họ tuân theo robots.txt, nên đó là cách đơn giản nhất
  • Tôi đã tự hỏi crawler này hoạt động trước hay sau logic chặn bot

  • Tôi từng nghĩ sẽ rất hay nếu có thể cung cấp một phiên bản đã được crawl tốt của site mình
    Nếu cho quản trị viên website một tính năng như vậy, crawler có thể chỉ cần trả chi phí truyền tải để truy cập
    Có vẻ cũng có thể triển khai bằng cách tự chạy job crawl nhắm vào site của mình rồi cung cấp qua subdomain static.

    • Nhưng tôi không thực sự hiểu nó sẽ dùng vào việc gì
      Nếu site là tĩnh thì cứ render ra HTML rồi host là được, còn nếu là động thì ảnh chụp snapshot có ý nghĩa gì cũng đáng nghi ngờ
      Có lẽ thêm cache sẽ là cách tiếp cận tốt hơn
  • Dạo này có cảm giác Cloudflare đang ôm hết mọi tính năng hay ho
    Không biết AWS đang làm gì nữa

  • Tính năng lần này thực sự rất ấn tượng
    Cloudflare đang đi trước để đón đầu tương lai