Tất cả bài viết

Cách một doanh nghiệp Price Intelligence theo dõi 10.000 SKU mỗi ngày

Việc theo dõi giá của 10.000 sản phẩm trên hơn 200 trang web đối thủ mỗi ngày là một thách thức lớn về cơ sở hạ tầng. Dưới đây là cách một công ty định giá giải quyết vấn đề này một cách gọn gàng.

Price Intelligence là xương sống của thương mại điện tử cạnh tranh. Các công ty theo dõi giá của đối thủ cạnh tranh theo thời gian thực có thể điều chỉnh giá của chính họ một cách linh hoạt, bảo vệ biên lợi nhuận và giành thị phần. Nhưng việc xây dựng một hệ thống giám sát ổn định 10.000 trang sản phẩm mỗi ngày là một thách thức kỹ thuật lớn.

Bài viết này sẽ đi sâu vào cách một quy trình Price Intelligence điển hình hoạt động, các rào cản kỹ thuật liên quan và cách các API thu thập dữ liệu như FourA đơn giản hóa lớp cơ sở hạ tầng.

Quy mô của bài toán

Một doanh nghiệp Price Intelligence quy mô trung bình có thể theo dõi:

  • 10.000 SKU trên 50 trang web đối thủ cạnh tranh
  • 3 lần kiểm tra giá cho mỗi SKU mỗi ngày (sáng, chiều, tối)
  • Nghĩa là có 30.000 lượt tải trang hàng ngày, trên các trang web có bố cục, hệ thống bảo vệ và yêu cầu render khác nhau

Ở quy mô này, bạn không thể duy trì việc bảo trì thủ công. Mỗi selector bị hỏng, IP bị chặn hoặc giao diện trang web thay đổi đều tiêu tốn hàng giờ làm việc của kỹ sư và gây ra khoảng trống trong dữ liệu của bạn.

Kiến trúc

1. Danh mục sản phẩm

Hệ thống bắt đầu với một danh mục có cấu trúc: các định danh SKU được ánh xạ tới các URL của đối thủ cạnh tranh và các CSS selector cho các phần tử giá.

{
  "sku": "LAPTOP-X1-16GB",
  "targets": [
    {"site": "competitor-a.com", "url": "https://competitor-a.com/laptop-x1", "selector": ".price-current", "type": "single"},
    {"site": "competitor-b.com", "url": "https://competitor-b.com/products/12345", "selector": "[data-price]", "type": "browser"},
    {"site": "competitor-c.com", "url": "https://competitor-c.com/item/laptop-x1", "selector": ".product-price", "type": "proxy"}
  ]
}

Hãy lưu ý các loại tác vụ khác nhau cho mỗi mục tiêu. Mỗi trang web có những đặc điểm khác nhau.

2. Quy trình thu thập dữ liệu

Một bộ lập lịch sẽ phân phối các tác vụ thu thập theo lô. Mỗi tác vụ sẽ gọi FourA API:

import requests
import time

def collect_price(target):
    resp = requests.post("https://eu.api.foura.ai/api/v1/tasks", headers={
        "Authorization": f"Bearer {API_KEY}",
        "Content-Type": "application/json"
    }, json={
        "url": target["url"],
        "type": target["type"],
        "options": {"waitFor": target["selector"]} if target["type"] == "browser" else {}
    })
    return resp.json()

Điểm mấu chốt ở đây: FourA xử lý việc xoay vòng proxy, TLS fingerprinting, render trình duyệt và cơ chế thử lại. Quy trình thu thập dữ liệu chỉ cần gửi các URL và parse các response.

3. Trích xuất và chuẩn hóa giá cả

HTML thô đi qua một bộ parser để trích xuất giá trị giá cả, chuẩn hóa tiền tệ và xử lý các trường hợp đặc biệt (giá khuyến mãi, khoảng giá "từ", chỉ báo hết hàng).

4. Phát hiện thay đổi và cảnh báo

Mỗi mức giá mới đều được so sánh với số liệu ghi nhận trước đó. Những thay đổi đáng kể (thường là ngưỡng 2-5%) sẽ kích hoạt cảnh báo tới các nhà phân tích hoặc hệ thống tự động điều chỉnh giá.

Các thách thức chính

Độ phức tạp đặc thù của từng trang web: Mỗi trang web đối thủ có bố cục, mức độ bảo vệ và hành vi render riêng biệt. Giải pháp áp dụng chung cho mọi trường hợp sẽ nhanh chóng thất bại.

Độ mới của dữ liệu: Dữ liệu giá cũ còn tệ hơn là không có dữ liệu. Hệ thống phải hoàn thành việc thu thập hàng ngày trong khoảng thời gian quy định, điều này đồng nghĩa với việc phải xử lý các lỗi và thử lại một cách hiệu quả.

Quản lý chi phí: Với 30.000 request mỗi ngày, chi phí cơ sở hạ tầng sẽ tích tụ lại. Việc sử dụng đúng loại tác vụ cho từng mục tiêu (sử dụng single khi có thể, chỉ sử dụng browser khi cần thiết) giúp giảm chi phí đáng kể.

Tại sao sử dụng API tốt hơn tự xây dựng

Một công ty tự xây dựng hệ thống này nội bộ sẽ cần duy trì các proxy pool, browser farm và mã chống phát hiện cho từng trang web mục tiêu. Chi phí vận hành cơ sở hạ tầng đó mới là chi phí thực sự. Đó không phải là thời gian kỹ thuật để viết scraper ban đầu, mà là việc bảo trì liên tục để giữ cho nó hoạt động ổn định.

Các API thu thập dữ liệu như FourA sẽ gánh vác sự phức tạp đó. Doanh nghiệp có thể tập trung vào những gì thực sự tạo nên sự khác biệt cho họ (danh mục sản phẩm, thuật toán định giá, mối quan hệ khách hàng) thay vì việc phải liên tục cập nhật Chrome.


Những doanh nghiệp dẫn đầu trong lĩnh vực Price Intelligence không phải là những bên có đội ngũ scraping lớn nhất. Họ là những người đã ngừng xây dựng cơ sở hạ tầng và bắt đầu xây dựng các mô hình định giá tốt hơn. Đó mới là nơi chứa đựng lợi thế cạnh tranh thực sự.

Tìm hiểu thêm trong hướng dẫn thực hànhtài liệu tham khảo API.