n8nFirecrawlWeb ScrapingTự động hóaDoanh nghiệp Việt

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

HECIGO Team9 min read

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 CloudSelf-Hosted
Thiết lậpĐăng ký tại firecrawl.dev, nhận API keyTriển khai qua Docker trên máy chủ của bạn
Base URLhttps://api.firecrawl.dev/v2http://your-server:3002/v2
Phù hợp nhất choKiểm tra nhanh, khối lượng thấpSả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ụngChỉ 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-v2

Khở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ườngMặc địnhMô tả
Base URLhttps://api.firecrawl.dev/v2Thay đổi cho các phiên bản tự lưu trữ. Phải bao gồm /v2.
API KeyAPI 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ạiMặc địnhMô tả
urlStringURL 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 địnhMô tả
formatsmarkdownCác định dạng đầu ra: markdown, html, rawHtml, links, screenshot, json, summary, images, audio, changeTracking
onlyMainContenttrueLoại bỏ headers, navigation và footers
includeTagsCác CSS selector để giữ lại (ví dụ: article, .content)
excludeTagsCác CSS selector để loại bỏ (ví dụ: nav, .sidebar)
waitFor0Chờ JS rendering (ms). Tăng lên cho các trang SPA/React.
timeout30000Thời gian chờ yêu cầu (ms), tối đa 300,000
mobilefalseGiả lập viewport của thiết bị di động
blockAdstrueChặn quảng cáo và cookie consent popups
proxyautoChế độ proxy: auto, basic, enhanced
locationCountryMã quốc gia ISO (ví dụ: VN, US)
locationLanguagesMã 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 địnhMô tả
crawlUrlURL bắt đầu (bắt buộc)
waitForCompletionfalseGiữ thực thi cho đến khi crawl hoàn tất
maxPollTime300Thời gian chờ tối đa tính bằng giây

Các tùy chọn Crawl:

Tham sốMặc địnhMô tả
limit100Số lượng trang tối đa để crawl
maxDiscoveryDepth2Độ sâu liên kết tối đa
includePathsCác mẫu regex để bao gồm (ví dụ: /blog/*, /docs/*)
excludePathsCác mẫu regex để loại trừ (ví dụ: /admin/*, /login)
sitemapincludeXử lý sitemap: include, skip hoặc only
crawlEntireDomainfalseTheo dõi các liên kết cùng cấp và cha trên toàn miền
allowExternalLinksfalseTheo dõi các liên kết đến các miền bên ngoài
allowSubdomainsfalseCrawl các subdomain
delay0Số giây giữa các yêu cầu (buộc concurrency về 1)
formatsmarkdownĐịnh dạng đầu ra cho mỗi trang
onlyMainContenttrueLoạ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ácEndpointTham số
Get Crawl StatusGET /crawl/:idcrawlId (job ID từ Crawl)
Cancel CrawlDELETE /crawl/:idcancelCrawlId (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 địnhMô tả
mapUrlURL bắt đầu (bắt buộc)
searchTruy vấn tìm kiếm để xếp hạng kết quả theo mức độ liên quan
includeSubdomainstrueBao gồm các URL subdomain
limit5000Số lượng URL tối đa để trả về (tối đa: 100,000)
ignoreQueryParameterstrueLoại bỏ các URL trùng lặp bằng cách loại bỏ query string
ignoreCachefalseBỏ qua bộ nhớ cache sitemap

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 địnhMô tả
queryTruy vấn tìm kiếm (bắt buộc)
limit5Số lượng kết quả tối đa
langMã ngôn ngữ (ví dụ: vi, en)
countryMã 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.

Nguồn tham khảo

Related Articles