Hướng dẫn Firecrawl đầy đủ: biến bất kỳ website nào thành Markdown mà LLM đọc hiểu

Làm RAG hay tác nhân AI tốn thời gian nhất không phải chọn mô hình, mà là làm sạch dữ liệu web. Firecrawl cung cấp bảy điểm cuối như Scrape, Crawl, Map, Search, một dòng gọi là trả về Markdown sạch. Bài này đi từ hạn mức miễn phí đến cách tính điểm, và nói rõ ranh giới pháp lý phải lưu ý trước khi thu thập website của người khác.

Ai từng làm RAG đều hiểu cảm giác bực bội đó: bạn tốn hai giờ chọn mô hình, thiết lập cơ sở dữ liệu vector, kết quả kẹt ở một vấn đề ngớ ngẩn — trang web thu về có thanh điều hướng, có quảng cáo, có banner đồng ý Cookie, và một nửa số trang thu bằng requests chỉ được cái vỏ rỗng, vì nội dung do JavaScript kết xuất ra.

Firecrawl chính là công cụ chuyên giải đoạn này.

Firecrawl là gì

Firecrawl là một API trích xuất dữ liệu web, xuất thân Y Combinator, định vị chính thức là "cách đơn giản nhất để lấy ngữ cảnh từ web". Bạn ném một URL vào, nó trả về một Markdown sạch — quảng cáo, điều hướng, script dọn hết, chỉ giữ nội dung có ý nghĩa.

Khác biệt lớn nhất so với tự viết crawler có hai điểm. Thứ nhất, nó xử lý kết xuất JavaScript, tức là chạy xong trang rồi mới thu nội dung, điều này giải quyết nguyên nhân thu thất bại phổ biến nhất của website hiện đại. Thứ hai, định dạng đầu ra của nó là để cho mô hình ngôn ngữ lớn dùng, bạn không cần viết một đống logic làm sạch nữa.

Nó làm được gì

Bên chính thức hiện cung cấp bảy điểm cuối, mỗi loại ứng với một tình huống sử dụng khác nhau:

Điểm cuối Công dụng Tính điểm
Scrape Thu một trang đơn 1 điểm mỗi trang
Crawl Bò đệ quy cả website 1 điểm mỗi trang
Map Nhanh chóng lấy cấu trúc trang của website 1 điểm mỗi trang
Search Tìm kiếm web và lấy về nội dung 2 điểm mỗi 10 kết quả
Interact Tự động hóa trình duyệt, xử lý đăng nhập và tương tác 2 điểm mỗi phút
Monitor Theo dõi thay đổi trang 1 điểm mỗi lần kiểm tra
Agent (đang xem trước) Tích hợp tác nhân AI Tính giá động, 5 lần miễn phí mỗi ngày

Gói chia sáu bậc Free, Hobby, Standard, Growth, Scale và Enterprise. Gói miễn phí mỗi tháng một nghìn điểm, hai yêu cầu song song; quy đổi theo tính phí năm, Hobby khoảng 16 USD/tháng gồm năm nghìn điểm, Standard khoảng 83 USD gồm mười vạn điểm, Growth khoảng 333 USD gồm năm mươi vạn điểm, Scale khoảng 599 USD gồm một triệu điểm. Mọi gói tự phục vụ đều hỗ trợ tự động nạp thêm theo đơn vị năm USD khi hết điểm.

Cách dùng: từ đăng ký đến lần thu đầu tiên

Bước một: đăng ký lấy khóa API

Vào firecrawl.dev đăng ký, gói miễn phí không cần thẻ tín dụng. Đăng nhập xong trong bảng điều khiển có thể lấy khóa API, nhớ lưu vào biến môi trường, đừng viết cứng trong mã.

Bước hai: thu trang đầu tiên

Cách dùng đơn giản nhất là điểm cuối Scrape, ném một URL, chỉ định định dạng Markdown, trả về là nội dung đã dọn sạch. Thực tế bạn sẽ nhận hai thứ: cột markdown là nội dung chính, cột metadata gồm tiêu đề, mô tả, ngôn ngữ. Cái sau rất hữu ích khi lập chỉ mục, đừng bỏ qua.

Bước ba: bò cả website

Điểm cuối Crawl sẽ bắt đầu từ URL bạn cho, đệ quy theo các liên kết. Ở đây có vài tham số nhất định phải đặt:

  • Trần số trang: không đặt thì một website lớn có thể dễ dàng ngốn hết cả tháng điểm của bạn
  • Giới hạn đường dẫn: chỉ bò nội dung dưới /docs/, đừng chạy sang bò blog và giới thiệu công ty
  • Quy tắc loại trừ: loại các trang không giá trị như trang đăng nhập, trang kết quả tìm kiếm

Thói quen của tôi là dùng điểm cuối Map xem cấu trúc website một lần trước, xác nhận tổng số trang trong phạm vi hợp lý rồi mới quyết định có chạy Crawl không. Bước này tránh được phần lớn sự cố ngốn điểm.

Bước bốn: kết nối vào quy trình RAG của bạn

Quy trình chuẩn sau khi có Markdown là: cắt khối (chunking), vector hóa, lưu vào cơ sở dữ liệu vector. Markdown của Firecrawl giữ được phân cấp tiêu đề, điều này đặc biệt thân thiện với chiến lược dùng tiêu đề làm ranh giới cắt khối — chất lượng hơn hẳn so với đống bùn nhão sau khi chuyển HTML thành văn bản thuần.

Kỹ thuật nâng cao

Map trước Crawl sau, luôn luôn. Đây là điểm tôi muốn nhấn mạnh nhất. Map chỉ cần rất ít điểm để cho biết website này có bao nhiêu trang, cấu trúc ra sao. Bỏ qua bước này chạy thẳng Crawl là cách đốt điểm phổ biến nhất.

Dùng trích xuất có cấu trúc thay cho tự viết trình phân tích. Scrape hỗ trợ chỉ định schema, để mô hình trích thẳng nội dung trang thành các cột bạn cần (ví dụ tên sản phẩm, giá, trạng thái tồn kho). Cách này ổn định hơn nhiều so với thu Markdown về rồi tự viết biểu thức chính quy, nhất là khi trang đổi giao diện.

Số song song là nút thắt thực tế. Bản miễn phí chỉ có hai yêu cầu song song, thu một nghìn trang sẽ rất chậm. Nếu bạn đang kiểm chứng nguyên mẫu, thu năm mươi trang xác nhận quy trình khả thi là được, đừng ngay từ đầu chạy cả website.

Monitor phù hợp theo dõi đối thủ. Nếu bạn cần giám sát thay đổi trang định giá hay trang sản phẩm của đối thủ, điểm cuối Monitor tiện hơn tự lên lịch chạy Scrape, và mỗi lần kiểm tra chỉ tính một điểm.

Kết hợp công cụ quan sát. Nếu quy trình RAG của bạn có nối Helicone hoặc Langfuse, nhớ ghi lại cả URL nguồn đã thu. Sau này khi truy "vì sao mô hình trả lời sai", tám phần mười vấn đề nằm ở dữ liệu nguồn, không phải mô hình.

Lưu ý

Ranh giới pháp lý nhất định phải nghĩ rõ trước. Đây là đoạn tôi cho là quan trọng nhất. Bản thân công cụ Firecrawl là trung tính, nhưng trách nhiệm pháp lý của hành vi thu thập thuộc về người dùng. Nhất định tuân thủ robots.txt và điều khoản dịch vụ của website mục tiêu; mục đích thương mại đặc biệt phải lưu ý quyền tác giả và quyền cơ sở dữ liệu. Luật bản quyền có quy định rõ về sao chép, thu cả lô nội dung của người khác về đưa vào sản phẩm của mình, rủi ro không thấp. Khi nghi ngại xin tìm ý kiến pháp lý, đừng mang tâm lý "dù sao ai cũng thu".

Mức tiêu hao điểm rất khó ước lượng trước. Một website tài liệu trông chỉ có ba mươi trang, có thể vì phân trang và tổ hợp tham số mà bung thành ba trăm trang. Đặt trần số trang là cách tự bảo vệ cần thiết.

Không phải website nào cũng thu được. Website cần đăng nhập, có cơ chế chống crawler nghiêm ngặt, hoặc cấm rõ truy cập tự động, điểm cuối Interact xử lý được một phần tình huống tương tác, nhưng không vạn năng. Gặp website không thu được, trước hết xác nhận có phải đối phương cố ý chặn không — nếu vậy thì đó là họ đang nói với bạn đừng thu.

Chất lượng đầu ra vẫn cần kiểm tra ngẫu nhiên. Chuyển đổi Markdown trên đa số website làm rất tốt, nhưng các trang bố cục đặc biệt (nhiều bảng, cấu trúc lồng nhau phức tạp) có thể sai lệch. Trước khi lập chỉ mục hãy kiểm tra ngẫu nhiên mười trang, xác nhận nội dung đầy đủ.

Học viện TheAI nhận định

Định vị của Firecrawl rất rõ ràng, rõ đến mức hơi nhàm — nó chỉ đóng gói việc khổ sai "chuyển web thành văn bản sạch" thành API, không có tham vọng nào khác.

Nhưng đó chính là lý do nó dễ dùng. Người làm RAG đều biết, thứ tốn thời gian nhất chưa bao giờ là chọn mô hình hay chỉnh tham số, mà là tiền xử lý dữ liệu. Thuê ngoài đoạn này, thời gian của bạn có thể dồn vào chỗ thật sự tạo khác biệt.

Nhận định: thứ nó bán không phải công nghệ, mà là những cuối tuần bạn không phải bảo trì crawler nữa.

Ba gợi ý cụ thể cho lập trình viên. Thứ nhất, dùng một nghìn điểm miễn phí chạy thông cả quy trình trước rồi mới cân nhắc trả phí, hạn mức này đủ để kiểm chứng nguyên mẫu. Thứ hai, tập thói quen "Map trước Crawl sau", một động tác này tiết kiệm được quá nửa lượng điểm lãng phí. Thứ ba, và quan trọng nhất — trước khi nhấn Crawl, hãy dành năm phút xem robots.txt và điều khoản dịch vụ của website đối phương. Kỹ thuật làm được không có nghĩa pháp lý được phép làm.

Nhiều công cụ cho lập trình viên hơn có thể tìm ở danh mục công cụ cho lập trình viên AI, cũng có thể tham khảo mẫu câu lệnh để thiết kế câu lệnh trích xuất dữ liệu.

Câu hỏi thường gặp

Hạn mức miễn phí có đủ làm nguyên mẫu không?

Mỗi tháng một nghìn điểm đại khái thu được một nghìn trang, đủ để dựng nguyên mẫu và kiểm chứng quy trình. Giới hạn nằm ở yêu cầu song song chỉ có hai, thu số lượng lớn sẽ rất chậm. Nên thu năm mươi đến một trăm trang xác nhận chất lượng trước rồi mới quyết định có nâng cấp không.

So với tự viết crawler thì khi nào nên dùng nó?

Nếu chỉ thu một hai website cấu trúc ổn định thì tự viết tiết kiệm hơn. Nhưng một khi phải đối mặt nhiều website, kết xuất JavaScript và cơ chế chống crawler, chi phí bảo trì tăng nhanh. Khi bạn thấy kỹ sư mỗi tháng đều phải bỏ thời gian sửa crawler thì đó là lúc nên đổi.

Thu thập website của người khác có hợp pháp không?

Công cụ là trung tính, trách nhiệm thuộc về người dùng. Nhất định tuân thủ robots.txt và điều khoản dịch vụ của website mục tiêu, mục đích thương mại phải đặc biệt lưu ý quyền tác giả và quyền cơ sở dữ liệu. Luật bản quyền có quy định rõ về sao chép, khi nghi ngại xin tìm ý kiến pháp lý.

Vì sao phải dùng Map trước rồi mới dùng Crawl?

Map chỉ cần rất ít điểm để cho biết website có bao nhiêu trang, cấu trúc thế nào. Bỏ qua bước này chạy thẳng Crawl rất dễ vì phân trang hoặc tổ hợp tham số mà bò ra số trang vượt xa dự kiến, một lần là dùng hết điểm của cả tháng.

繁體中文版 →