Tối Ưu Hóa Quy Trình Thu Thập Dữ Liệu Web cho Doanh Nghiệp Việt với n8n và Firecrawl
Trong bối cảnh kinh tế số ngày càng phát triển, việc thu thập và phân tích dữ liệu web trở nên vô cùng quan trọng đối với các doanh nghiệp Việt Nam. Từ việc theo dõi đối thủ cạnh tranh, nắm bắt xu hướng thị trường, đến việc thu thập thông tin khách hàng tiềm năng, dữ liệu web đóng vai trò then chốt trong việc đưa ra các quyết định kinh doanh sáng suốt. Tuy nhiên, quá trình này thường tốn nhiều thời gian và công sức, đặc biệt khi phải xử lý các trang web phức tạp sử dụng JavaScript hoặc có các biện pháp chống bot.
Bài viết này sẽ giới thiệu cách sử dụng n8n, một nền tảng tự động hóa workflow mạnh mẽ, kết hợp với Firecrawl, một công cụ web scraping thế hệ mới, để xây dựng các quy trình thu thập dữ liệu web hiệu quả và tự động cho doanh nghiệp Việt. Chúng ta sẽ khám phá các tính năng của node Firecrawl trong n8n, từ việc cào dữ liệu đơn giản đến việc thu thập thông tin trên toàn bộ trang web và trích xuất dữ liệu bằng AI.
Firecrawl là gì?
Firecrawl là một công cụ web scraping thế hệ mới, được thiết kế để giải quyết các thách thức trong việc thu thập dữ liệu từ các trang web hiện đại. Nó có khả năng xử lý JavaScript, vượt qua các biện pháp chống bot và trích xuất dữ liệu có cấu trúc một cách dễ dàng. n8n Firecrawl node (n8n-nodes-firecrawl-v2) tích hợp tất cả 10 thao tác API Firecrawl v2 vào n8n, cho phép bạn làm việc với cả Firecrawl Cloud và các phiên bản tự lưu trữ.
Theo THE NEXOVA, node này đặc biệt hữu ích cho các kỹ sư tự động hóa và tích hợp, những người muốn xây dựng các workflow thu thập dữ liệu sản xuất trên n8n.
Cloud vs Self-Hosted
Firecrawl cung cấp hai tùy chọn triển khai: Cloud và Self-Hosted. Dưới đây là so sánh giữa hai tùy chọn này:
| Firecrawl Cloud | Self-Hosted | |
|---|---|---|
| Thiết lập | Đăng ký tại firecrawl.dev, nhận API key | Triển khai qua Docker trên máy chủ của bạn |
| Base URL | https://api.firecrawl.dev/v2 | http://your-server:3002/v2 |
| Phù hợp nhất cho | Kiểm tra nhanh, khối lượng thấp | Sản xuất, dữ liệu nhạy cảm, số lượng yêu cầu không giới hạn |
| Chi phí | Giá dựa trên mức sử dụng | Chỉ chi phí cơ sở hạ tầng |
Tại THE NEXOVA, Firecrawl được lưu trữ cùng với n8n trên cùng một máy chủ. Điều này giúp giảm độ trễ API và kiểm soát hoàn toàn dữ liệu. Các workflow thu thập thông tin cạnh tranh của chúng tôi xử lý hàng trăm trang mỗi ngày thông qua thiết lập này. Để biết thêm về cách THE NEXOVA giúp các doanh nghiệp Việt Nam chuyển đổi số, hãy xem Digital Transformation: Vietnam's Business-First Approach.
Cài đặt
Cài đặt Node
Bạn có thể cài đặt node Firecrawl trong n8n thông qua giao diện người dùng:
Settings > Community Nodes > Install > n8n-nodes-firecrawl-v2
Hoặc thông qua dòng lệnh:
cd ~/.n8n
npm install n8n-nodes-firecrawl-v2Khởi động lại n8n sau khi cài đặt.
Cấu hình Credentials
Tạo một credential mới có kiểu Firecrawl API:
| Trường | Mặc định | Mô tả |
|---|---|---|
| Base URL | https://api.firecrawl.dev/v2 | Thay đổi cho các phiên bản tự lưu trữ. Phải bao gồm /v2. |
| API Key | API key Firecrawl của bạn |
Authentication sử dụng Authorization: Bearer apiKey. Khi lưu, n8n sẽ kiểm tra kết nối bằng cách cào https://example.com.
Các thao tác
Node Firecrawl cung cấp nhiều thao tác khác nhau để thu thập và trích xuất dữ liệu web. Dưới đây là một số thao tác quan trọng nhất:
1. Scrape
Thao tác được sử dụng phổ biến nhất. Scrape trích xuất nội dung từ một URL duy nhất với hỗ trợ đầy đủ cho JavaScript rendering.
Endpoint: POST /scrape
| Tham số | Loại | Mặc định | Mô tả |
|---|---|---|---|
url | String | URL mục tiêu (bắt buộc) |
Các tùy chọn Scrape (tất cả đều tùy chọn):
| Tham số | Mặc định | Mô tả |
|---|---|---|
formats | markdown | Các định dạng đầu ra: markdown, html, rawHtml, links, screenshot, json, summary, images, audio, changeTracking |
onlyMainContent | true | Loại bỏ headers, navigation và footers |
includeTags | Các CSS selector để giữ lại (ví dụ: article, .content) | |
excludeTags | Các CSS selector để loại bỏ (ví dụ: nav, .sidebar) | |
waitFor | 0 | Chờ JS rendering (ms). Tăng lên cho các trang SPA/React. |
timeout | 30000 | Thời gian chờ yêu cầu (ms), tối đa 300,000 |
mobile | false | Giả lập viewport của thiết bị di động |
blockAds | true | Chặn quảng cáo và cookie consent popups |
proxy | auto | Chế độ proxy: auto, basic, enhanced |
locationCountry | Mã quốc gia ISO (ví dụ: VN, US) | |
locationLanguages | Mã ngôn ngữ (ví dụ: vi-VN, en-US) |
Ví dụ đầu ra:
{
"markdown": "# Page Title\n\nMain content extracted...",
"metadata": {
"title": "Page Title",
"description": "Meta description",
"sourceURL": "https://example.com",
"statusCode": 200
}
}2. Crawl
Crawl xử lý toàn bộ trang web bằng cách theo dõi các liên kết từ một URL bắt đầu. Đây là một công việc không đồng bộ có thể mất từ vài phút đến vài giờ tùy thuộc vào kích thước trang web.
Endpoint: POST /crawl
| Tham số | Mặc định | Mô tả |
|---|---|---|
crawlUrl | URL bắt đầu (bắt buộc) | |
waitForCompletion | false | Giữ thực thi cho đến khi crawl hoàn tất |
maxPollTime | 300 | Thời gian chờ tối đa tính bằng giây |
Các tùy chọn Crawl:
| Tham số | Mặc định | Mô tả |
|---|---|---|
limit | 100 | Số lượng trang tối đa để crawl |
maxDiscoveryDepth | 2 | Độ sâu liên kết tối đa |
includePaths | Các mẫu regex để bao gồm (ví dụ: /blog/*, /docs/*) | |
excludePaths | Các mẫu regex để loại trừ (ví dụ: /admin/*, /login) | |
sitemap | include | Xử lý sitemap: include, skip hoặc only |
crawlEntireDomain | false | Theo dõi các liên kết cùng cấp và cha trên toàn miền |
allowExternalLinks | false | Theo dõi các liên kết đến các miền bên ngoài |
allowSubdomains | false | Crawl các subdomain |
delay | 0 | Số giây giữa các yêu cầu (buộc concurrency về 1) |
formats | markdown | Định dạng đầu ra cho mỗi trang |
onlyMainContent | true | Loại bỏ boilerplate khỏi mỗi trang |
Khi waitForCompletion tắt: đầu ra chỉ chứa id của công việc. Sử dụng thao tác Get Crawl Status để truy xuất kết quả sau. Khoảng thời gian polling nội bộ là 2 giây.
3. Get Crawl Status / 4. Cancel Crawl
| Thao tác | Endpoint | Tham số |
|---|---|---|
| Get Crawl Status | GET /crawl/:id | crawlId (job ID từ Crawl) |
| Cancel Crawl | DELETE /crawl/:id | cancelCrawlId (job ID) |
5. Map
Map khám phá tất cả các URL trên một trang web mà không cần cào nội dung của chúng. Nó nhanh hơn đáng kể so với Crawl và hoạt động tốt như một bước đầu tiên trước khi cào có mục tiêu.
Endpoint: POST /map
| Tham số | Mặc định | Mô tả |
|---|---|---|
mapUrl | URL bắt đầu (bắt buộc) | |
search | Truy vấn tìm kiếm để xếp hạng kết quả theo mức độ liên quan | |
includeSubdomains | true | Bao gồm các URL subdomain |
limit | 5000 | Số lượng URL tối đa để trả về (tối đa: 100,000) |
ignoreQueryParameters | true | Loại bỏ các URL trùng lặp bằng cách loại bỏ query string |
ignoreCache | false | Bỏ qua bộ nhớ cache sitemap |
6. Search
Search thực hiện tìm kiếm trên web và tùy chọn cào từng trang kết quả. Điều này kết hợp khám phá tìm kiếm và trích xuất nội dung.
Endpoint: POST /search
| Tham số | Mặc định | Mô tả |
|---|---|---|
query | Truy vấn tìm kiếm (bắt buộc) | |
limit | 5 | Số lượng kết quả tối đa |
lang | Mã ngôn ngữ (ví dụ: vi, en) | |
country | Mã quốc gia (ví dụ: VN, US) | |
scrapeOptions | Áp dụng các tùy chọn scrape cho mỗi kết quả |
Ứng dụng thực tế cho doanh nghiệp Việt
Sự kết hợp giữa n8n và Firecrawl mở ra nhiều khả năng cho doanh nghiệp Việt Nam:
- Theo dõi đối thủ cạnh tranh: Tự động crawl và so sánh giá cả, sản phẩm từ các website đối thủ
- Thu thập dữ liệu thị trường: Scrape thông tin từ các sàn thương mại điện tử như Shopee, Tiki, Lazada
- Tổng hợp tin tức ngành: Map và crawl các trang tin tức công nghệ, tài chính để cập nhật xu hướng
- Lead generation: Search và scrape thông tin doanh nghiệp từ các danh bạ trực tuyến
Liên hệ
HECIGO cung cấp các giải pháp middleware giúp doanh nghiệp Việt Nam kết nối với các hệ thống toàn cầu. Để tìm hiểu thêm về cách chúng tôi có thể giúp tự động hóa quy trình thu thập dữ liệu cho doanh nghiệp của bạn, vui lòng liên hệ với chúng tôi.