Quét các biến thể sản phẩm mà không làm lẫn giá và SKU

Cách quét các biến thể sản phẩm mà không làm lẫn giá và SKU

Scrapeless Agent Browser cho phép bạn kiểm tra các trang sản phẩm động và trạng thái biến thể đã được chọn của chúng trong một phiên trình duyệt được quản lý.

Tóm tắt

  • Danh tính biến thể phải luôn đi cùng với giá. Ghi lại tổ hợp tùy chọn và định danh biến thể nguồn trong cùng một quan sát.
  • Giá trị tối thiểu của sản phẩm là một giá trị dùng để khám phá. Nó không xác lập ưu đãi cho mọi kích cỡ hoặc màu sắc.
  • Việc lựa chọn cần một điều kiện hoàn tất có thể quan sát được. Đọc ngay sau khi nhấp có thể thu được tùy chọn trước đó.
  • Phạm vi bao phủ không đầy đủ cần một trạng thái rõ ràng. Phản hồi sản phẩm có thể truy cập không chứng minh rằng mọi biến thể đều đã được trả về.

Tổng quan pipeline: Giữ nguyên ranh giới ưu đãi

Một pipeline trích xuất biến thể khám phá các sản phẩm, liệt kê các tùy chọn hợp lệ, thu thập một ưu đãi cho mỗi biến thể, xác thực mối liên kết, và lưu một quan sát. Mối liên kết quan trọng hơn là sự tồn tại của trường giá. Một số tiền được phân tích hoàn hảo nhưng gắn với sai kích cỡ vẫn là dữ liệu không chính xác.

Hãy dùng nhóm sản phẩm để gom các mặt hàng liên quan, một định danh biến thể để phân biệt các cấu hình có thể mua được, và một bản ghi ưu đãi cho các thông tin thương mại thay đổi. Mô hình ProductGroup tách các đặc điểm sản phẩm dùng chung ra khỏi các biến thể. Các bảng riêng của bạn có thể dùng tên khác nhưng vẫn giữ được ranh giới đó.

Đối với một ứng dụng định giá, hãy định nghĩa thành công là một sản phẩm đã được xác nhận, biến thể đã được xác nhận, số tiền, đơn vị tiền tệ, thị trường, và thời điểm quan sát. Một SKU trống có thể là hợp lệ. Một ánh xạ biến thể–giá không chắc chắn nên chặn bản ghi đó khỏi việc cảnh báo hoặc định giá lại. Pipeline giám sát giá ở cấp biến thể cho thấy những quan sát đó thuộc về đâu trong một ứng dụng lớn hơn.

Điều kiện tiên quyết: Định nghĩa biến thể có nghĩa là gì

Trước khi thu thập, hãy tập hợp một danh sách giám sát sản phẩm đã được phê duyệt, phương thức truy cập được phép, thị trường mục tiêu, và các chiều tùy chọn dự kiến. Bao gồm kích cỡ, màu sắc, chất liệu, số lượng trong gói, tình trạng, hoặc lựa chọn đăng ký khi các trường đó làm thay đổi mặt hàng được mua. Ghi rõ thuộc tính nào nhận diện biến thể và thuộc tính nào mô tả ưu đãi của nó.

Bạn cũng cần một bộ trích xuất được điều chỉnh cho đúng cửa hàng, một nơi để lưu giữ các quan sát, và một tập kiểm thử chứa các sản phẩm khó xử lý. Bao gồm một sản phẩm chỉ có một tùy chọn, một sản phẩm có các tổ hợp không khả dụng, và một sản phẩm có giá thay đổi theo tùy chọn. Bài viết này định nghĩa hợp đồng trích xuất; nó không tuyên bố cung cấp bộ chọn dùng chung hay xuất dữ liệu thương nhân trực tiếp.

Lưu giá trị SKU dạng văn bản, bao gồm cả các số 0 ở đầu. Đặt không gian tên cho mọi định danh theo nguồn hoặc thương nhân. Thương nhân có thể tái sử dụng một SKU, để trống, hoặc sửa đổi nó, vì vậy SKU một mình không phù hợp làm khóa sản phẩm toàn cầu. Giữ lại ID biến thể nguồn khi cửa hàng hiển thị nó.

Giai đoạn 1: Khám phá sản phẩm mà không làm phẳng các biến thể

Khám phá sản phẩm nên tạo ra URL cha và định danh nguồn trước khi tạo ra các ưu đãi biến thể. Thẻ danh sách có thể hiển thị giá khởi điểm, khoảng giá, số tiền trả góp, hoặc thông điệp khuyến mãi. Giữ các trường đó với bản ghi khám phá cho đến khi một lần kiểm tra ở cấp sản phẩm xác lập được ý nghĩa của chúng.

Ưu tiên các phản hồi có cấu trúc công khai được tài liệu hóa hoặc các liên kết sản phẩm ổn định khi chúng chứa thông tin cần thiết. Dữ liệu có cấu trúc nhúng có thể giúp nhận diện sản phẩm, nhưng hãy kiểm tra xem nó mô tả một ưu đãi đã chọn hay toàn bộ tập biến thể. Từ vựng Product vocabulary hỗ trợ các định danh mang tính mô tả; sự tồn tại của markup không chứng nhận tính đầy đủ hoặc độ mới.

Giữ lại các tham số truy vấn mã hóa một biến thể đã chọn. Chỉ xóa tham số theo dõi sau khi xác nhận rằng chúng không ảnh hưởng đến trạng thái sản phẩm. Giữ URL gốc song song với URL sản phẩm chuẩn để bằng chứng nguồn vẫn có thể được tái tạo. Một URL rút gọn làm mất kích cỡ đã chọn có thể khiến việc xem lại một bản ghi đúng trở nên bất khả thi.

Giai đoạn 2: Liệt kê các tổ hợp hợp lệ

Việc liệt kê biến thể nên tuân theo các tổ hợp mà cửa hàng thực sự hỗ trợ. Lấy tích Descartes của mọi tùy chọn hiển thị có thể tạo ra các cấu hình chưa từng tồn tại. Việc chọn màu có thể làm thay đổi các kích cỡ được cung cấp, và bộ chọn gói có thể thay đổi danh tính sản phẩm chứ không chỉ giá.

Xây dựng một bảng liệt kê với ID biến thể, tên tùy chọn, giá trị tùy chọn, và trạng thái khám phá. Nếu nguồn có cấu trúc trả về các biến thể rõ ràng, hãy dùng các bản ghi đó làm kho ban đầu của các tổ hợp. So sánh kho đó với các thành phần điều khiển hiển thị cho các sản phẩm tiêu biểu. Gắn cờ các phản hồi bị cắt ngắn, tùy chọn ẩn, và khác biệt không giải thích được để xem xét.

Khi chỉ có giao diện hiển thị các tổ hợp, hãy chọn một đường đi tùy chọn tại một thời điểm và thu lại danh tính kết quả. Ghi lại một tổ hợp không được hỗ trợ tách biệt với một biến thể hiện có nhưng không khả dụng. Những trường hợp này trả lời các câu hỏi khác nhau: một cái mô tả danh mục, còn cái kia mô tả ưu đãi hiện tại.

Giai đoạn 3: Đọc danh tính và giá cùng nhau

Bước trích xuất nên đọc danh tính biến thể đã được xác nhận và ưu đãi của nó từ cùng một trạng thái trang đã ổn định. Với Agent Browser, tự động hóa của bạn kiểm soát tương tác với cửa hàng. Trình duyệt cung cấp khả năng truy cập nội dung đã render; bộ thu thập của bạn vẫn quyết định khi nào tùy chọn đã chọn sẵn sàng và nút nào thuộc về ưu đãi đó.

Sau khi chọn một tùy chọn, hãy chờ một dấu hiệu cụ thể của sản phẩm: ID biến thể thay đổi, văn bản tùy chọn đã chọn được cập nhật, hoặc phần tử giá có định danh liên kết khớp với biến thể được yêu cầu. Dùng khoảng chờ có giới hạn. Chỉ dựa vào việc spinner biến mất có thể là bằng chứng yếu hơn so với việc định danh và số tiền cùng thay đổi.

Giới hạn việc trích xuất giá vào khu vực mua sản phẩm chính. Giữ giá hiện tại, giá so sánh, văn bản trả góp, và giá đăng ký ở các trường riêng biệt. Mô hình Offer cung cấp một sự phân biệt hữu ích giữa một mặt hàng và các điều khoản mà nó được chào bán. Không bao giờ ghi đè giá mua thông thường bằng một thẻ gợi ý không liên quan.

TrườngÝ nghĩaQuyết định xác thực
source_variant_idĐịnh danh biến thể cục bộ của cửa hàngBắt buộc khi được nguồn đã chọn cung cấp
skuMã hàng do nhà bán lẻ gánVăn bản có thể rỗng; không bao giờ là một khóa nối toàn cục duy nhất
optionsTổ hợp tùy chọn có tênPhải khớp với biến thể đã chọn
price_amount và currencyMột đề nghị được quan sátGiữ lại khi đơn vị hoặc tiền tệ chưa được xác định
coverage_statusMức độ đầy đủ của liệt kêGiữ cho các tập hợp một phần có thể phân biệt được

Giai đoạn 4: Kiểm thử ánh xạ biến thể trước khi lưu trữ

Xác thực nên từ chối các quan sát biến thể trùng lặp và ngữ cảnh tiền tệ bị thiếu trước khi bản ghi đi vào bảng giá mới nhất. Ví dụ Python cục bộ sau đây dùng dữ liệu đầu vào minh họa có chủ đích; nó kiểm tra hợp đồng ánh xạ chứ không phải thu thập một cửa hàng thực. Hãy thay các bản ghi mẫu bằng các quan sát từ bộ trích xuất đã được bạn phê duyệt.

Cả hai biến thể minh họa đều thuộc cùng một sản phẩm, nhưng mỗi biến thể giữ SKU và số tiền riêng. Kiểm tra trùng lặp sử dụng nguồn, sản phẩm cha, biến thể và thị trường. Một đề nghị không khả dụng vẫn có thể có giá hiển thị, vì vậy tình trạng khả dụng là một trường độc lập chứ không phải lý do để sao chép số tiền của biến thể khác.

# Illustrative records; no merchant data is represented.
rows = [
    dict(source="demo", product="coat", variant="blue-s", market="GB",
         sku="001-S", amount="45.00", currency="GBP"),
    dict(source="demo", product="coat", variant="blue-m", market="GB",
         sku="001-M", amount="49.00", currency="GBP"),
]
seen = set()
for row in rows:
    key = tuple(row[k] for k in ("source", "product", "variant", "market"))
    assert key not in seen, "duplicate variant observation"
    assert row["amount"] and row["currency"], "incomplete monetary context"
    seen.add(key)
print([(r["variant"], r["sku"], r["amount"]) for r in rows])

Giai đoạn 5: Giữ lịch sử và chẩn đoán gán sai

Một lịch sử quan sát chỉ-ghi-thêm giúp các sai sót về biến thể có thể được chẩn đoán. Giữ lại các tùy chọn được yêu cầu, tùy chọn quan sát được, phương pháp trích xuất, văn bản giá gốc, số tiền đã chuẩn hóa, tiền tệ, thời điểm ghi nhận và tham chiếu đến bằng chứng được phép. Một bảng chế độ xem mới nhất có thể phục vụ ứng dụng mà không thay thế các quan sát nền.

Điều tra một thay đổi giá đột ngột bằng cách kiểm tra định danh trước số tiền. Tùy chọn đã chọn có bị đặt lại không? Locale có thay đổi không? Một công tắc đăng ký có được kích hoạt không? Chênh lệch do bất kỳ điều kiện nào trong số đó gây ra là một thay đổi ngữ cảnh, không nhất thiết là biến động giá cho cùng một đề nghị.

Sử dụng hàng đợi rà soát cho các giá trị có cấu trúc và hiển thị mâu thuẫn. Ưu tiên một thứ tự ưu tiên nguồn đã tuyên bố thay vì im lặng lấy bất kỳ giá trị nào được phân tích trước. Kiểm tra giá Scrapeless so với lượng công việc cần cho mỗi đề nghị đã được xác thực, bao gồm tương tác và bằng chứng bạn cần, thay vì chỉ lập ngân sách theo số lượng trang cha.

Kết luận: Làm cho phép nối biến thể rõ ràng

Để scrape biến thể sản phẩm một cách đáng tin cậy, hãy giữ riêng bước khám phá khỏi bước thu thập đề nghị và giữ định danh được gắn qua mọi phép biến đổi. Đầu ra hữu ích là một tập hợp các quan sát biến thể có cơ sở với phạm vi bao phủ đã được tuyên bố. Bắt đầu với một danh sách theo dõi hẹp, xác minh các tổ hợp tùy chọn khó, và chỉ mở rộng sau khi ánh xạ vượt qua được so sánh thủ công với cửa hàng.

Xây dựng quy trình làm việc Scrape biến thể sản phẩm của bạn

Áp dụng các quyết định thu thập và xác thực ở trên vào các nguồn thương mại điện tử đã được phê duyệt của bạn với Scrapeless.

Đăng ký hôm nay và nhận $5 tín dụng miễn phí — không cần thẻ tín dụng.

Nhận $5 tín dụng của bạn →

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

Hỏi: Giá thấp nhất của một sản phẩm có thể đại diện cho mọi biến thể không?

Giá thấp nhất của một sản phẩm không thể đại diện cho mọi biến thể trừ khi nguồn xác nhận các đề nghị là giống hệt nhau. Lưu giá tối thiểu như một tóm tắt sản phẩm và thu thập số tiền biến thể riêng. Sự phân biệt này ngăn một kích cỡ rẻ làm thay đổi lịch sử giá của mọi kích cỡ khác.

Hỏi: Nên xử lý SKU trống như thế nào?

Giữ SKU trống ở dạng null và giữ một định danh biến thể nguồn khác khi có. Không được tự bịa mã hàng từ tiêu đề. Nếu không thể thiết lập định danh, hãy giữ lại quan sát để rà soát thay vì gắn số tiền của nó vào một biến thể đoán.

Hỏi: Phiên trình duyệt có cần proxy không?

Yêu cầu proxy phụ thuộc vào nguồn được phép và thị trường đang được quan sát. Định tuyến theo quốc gia có thể hỗ trợ bối cảnh thị trường nhất quán, nhưng hãy xác minh quốc gia và tiền tệ thực sự được chọn trên cửa hàng. Chỉ định tuyến thôi không đủ để xác lập rằng biến thể được yêu cầu hoặc đề nghị cục bộ đang hoạt động.

Hỏi: Điều gì xảy ra khi bố cục trang thay đổi hoặc xuất hiện thử thách?

Một thay đổi bố cục hoặc thử thách truy cập cần phải tạo ra trạng thái trích xuất, không phải một mức giá được đoán. Xác nhận khu vực sản phẩm, kiểm tra các định danh ổn định và sửa lại bộ trích xuất bị ảnh hưởng. Giữ nội dung thử thách nằm ngoài bảng ưu đãi và rà soát các điều kiện truy cập của nguồn.

Q: Việc này có thể chạy mà không cần tác nhân AI không, và mức độ song song nào là phù hợp?

Tự động hóa mang tính quyết định có thể thực thi quy trình biến thể mà không cần tác nhân AI. Sử dụng một nhóm worker giới hạn theo từng host và chọn kích thước của nó dựa trên lưu lượng được phép và hành vi trang web quan sát được. Bắt đầu một cách thận trọng, thay vì coi năng lực đám mây là hạn ngạch lưu lượng cho trang đích.

Q: Dữ liệu biến thể công khai có được thu thập không giới hạn không?

Chỉ riêng việc hiển thị công khai không quyết định được quyền thu thập hay tái sử dụng. Hãy xem lại điều khoản của nhà bán, các yêu cầu áp dụng và phạm vi giám sát đã được phê duyệt trước khi thu thập. Giữ công việc tập trung vào thông tin sản phẩm công khai và loại trừ dữ liệu danh mục chỉ dành cho tài khoản hoặc bị hạn chế.

Tài liệu tham khảo