Cách thu thập dữ liệu sản phẩm Walmart: Tại sao proxy chung không hiệu quả và điều gì thực sự hiệu quả.
Advanced Bot Mitigation Engineer
Những điểm chính:
- Một địa chỉ IP của Mỹ không giống như một phản hồi có thể sử dụng trên Walmart. Walmart đánh giá uy tín của IP, tính nhất quán của hành vi và sự tập trung lưu lượng truy cập theo khu vực — không chỉ dựa vào quốc gia mà một IP giải quyết. Một proxy US chung có thể trả về HTTP 200 và vẫn đưa ra một trang kiểm tra bot hoặc CAPTCHA trong nội dung.
- HTTP 200 ≠ dữ liệu sản phẩm có thể trích xuất. Các proxy US chung thường xuyên trả về
200 OKmà nội dung là một trang kiểm tra bot hoặc CAPTCHA thay vì lưới sản phẩm — và một phần khác không bao giờ kết nối. Các mã trạng thái đơn thuần không cho bạn biết liệu một phản hồi có thực hay không. - IP trung tâm dữ liệu suy giảm nhanh nhất; chỉ có IP dân cư là không đủ. Hệ thống egress dân cư nâng cao mặt sàn, nhưng Walmart cũng kiểm tra xem một phiên có hành vi như một trình duyệt hay không — chạy JavaScript, giữ cookies và trình bày một dấu vân tay nhất quán. Một proxy thô gửi byte; nó không hiển thị một trang.
- Một trình duyệt chống phát hiện đã được hiển thị thu hẹp khoảng cách. Trình duyệt Scrapeless Scraping kết hợp các proxy dân cư ở hơn 195 quốc gia với việc hiển thị JavaScript từ đám mây và định danh chống phát hiện, vì vậy trang trở lại là lưới sản phẩm thực sự thay vì một shell thách thức.
- Việc hiển thị là có thể quan sát được. Trình duyệt Scrapeless Scraping hiển thị URL tìm kiếm Walmart đến tiêu đề trang
laptop - Walmart.com, tạo ra hơn 160 điểm neo sản phẩm (a[link-identifier]) và hàng chục nút[data-item-id]— một lưới sản phẩm thực sự có phân trang thay vì một shell thách thức. - Miễn phí để bắt đầu. Các tài khoản Scrapeless mới bao gồm thời gian chạy Trình duyệt Scraping miễn phí — đăng ký tại app.scrapeless.com.
Giới thiệu: trạng thái 200 không phải là đèn xanh
Danh mục công khai của Walmart là một trong những tập dữ liệu được theo dõi nhiều nhất trong bán lẻ Mỹ. Các nhóm định giá theo dõi SKUs của đối thủ, chủ sở hữu thương hiệu giám sát sự tuân thủ MAP, người bán trên thị trường theo dõi chuyển động buy-box, và các đại lý AI kéo thuộc tính sản phẩm vào các quy trình tiếp theo. Dữ liệu có thể nhìn thấy công khai trong trình duyệt — đó là lý do tại sao rất nhiều nhóm cho rằng một proxy và một khách hàng HTTP là đủ để thu thập nó.
Chúng không đủ. Chế độ thất bại phổ biến nhất trên Walmart là im lặng: một yêu cầu được gửi qua một proxy US, trở lại với một 200 OK, và quy trình ghi nhận một thành công — nhưng nội dung là một trang xác minh bot, một shell React trống, hoặc một thông báo CAPTCHA. Dòng trạng thái nói rằng mọi thứ đã hoạt động; payload không chứa dữ liệu sản phẩm. Một trình trích xuất tin tưởng vào mã trạng thái ghi nhận một chiến thắng và không lưu trữ gì có thể sử dụng được.
Bài đăng này giải thích lý do tại sao các proxy chung không hoạt động tốt trên Walmart, hỗ trợ tỷ lệ thất bại với một tiêu chuẩn công khai có thuộc tính, và hướng dẫn một quy trình Python dựa trên Trình duyệt Scrapeless Scraping — một trình duyệt đám mây chống phát hiện hiển thị trang, giữ trạng thái phiên, và chuyển hướng qua egress dân cư, vì vậy phản hồi trở lại là lưới sản phẩm mà bạn thực sự muốn. Quy trình này trích xuất các bản ghi kết quả tìm kiếm (tiêu đề, giá, liên kết, ID sản phẩm) và đi từ một kết quả đến trang chi tiết sản phẩm của nó.
Những gì bạn có thể làm với nó
- Theo dõi giá cả cạnh tranh. Thu thập giá, giá niêm yết, và cờ giảm giá trên các SKU Walmart cạnh tranh theo chu kỳ liên tục.
- Giám sát tuân thủ MAP. Chủ sở hữu thương hiệu theo dõi giá của người bán bên thứ ba và đánh dấu các danh sách dưới MAP.
- Nhập danh mục. Cung cấp danh sách tìm kiếm và danh mục vào các quy trình tiếp theo với một lược đồ sản phẩm chuẩn hóa (tiêu đề, giá, liên kết, ID sản phẩm).
- Thông tin về buy-box và người bán. Theo dõi người bán nào giữ danh sách nhất định và cách mà các ưu đãi xoay vòng theo thời gian.
- Tính khả dụng và sự đa dạng. Giám sát các sản phẩm nào xuất hiện cho một truy vấn và cách mà tập kết quả thay đổi giữa các vùng.
- Cải thiện đại lý AI. Giao một lưới sản phẩm đã được hiển thị cho một đại lý phân loại, loại bỏ trùng lặp, hoặc tóm tắt danh mục.
Tại Scrapeless, chúng tôi chỉ truy cập dữ liệu công khai có sẵn trong khi hoàn toàn tuân thủ các luật, quy định và chính sách bảo mật của website. Nội dung trong bài đăng này chỉ để mục đích trình diễn.
Tại sao các Proxy Chung Thất Bại trên Walmart
Một proxy chung chỉ làm một công việc: nó chuyển tiếp yêu cầu HTTP của bạn từ một IP khác và trả lại các byte mà Walmart gửi lại. Nó không chạy JavaScript, duy trì một dấu vân tay trình duyệt, hoặc giữ trạng thái phiên giữa các yêu cầu. Các biện pháp bảo vệ của Walmart được xây dựng chính xác để phát hiện những gì một proxy thô không thể giả mạo.
Walmart kiểm tra nhiều hơn quốc gia của IP
Lớp chống bot của Walmart đánh giá một số tín hiệu cùng nhau:
- Uy tín IP — các dải trung tâm dữ liệu và các bó proxy nổi tiếng có độ tin cậy thấp và gặp thách thức nhanh chóng.
- Tính nhất quán của hành vi — liệu khách hàng có chạy các tập lệnh trang, phát lại cookies, và trình bày các tiêu đề và thời gian phù hợp với một trình duyệt thực hay không.
- Sự tập trung lưu lượng theo khu vực — không chỉ chú ý đến quốc gia mà IP giải quyết, mà còn xem liệu lưu lượng từ một khu vực hoặc subnet có phân bố tự nhiên hay tập trung theo cách báo hiệu tự động hóa hay không.
Một proxy ở cấp độ quốc gia của Mỹ chỉ thỏa mãn một trong những kiểm tra đó. Nó không nói gì về việc yêu cầu có chạy JavaScript hay hành xử như một trình duyệt hay không, và một nhóm các IP trung tâm dữ liệu của Mỹ đối với cùng một điểm cuối tập trung lưu lượng theo cách mà các kiểm tra khu vực của Walmart được thiết kế để phát hiện.
Mã trạng thái không trung thực
Triệu chứng đắt giá nhất là triệu chứng giống như thành công. Chạy các proxy chung của Mỹ với khối lượng lớn chống lại Walmart và các phản hồi được chia thành ba nhóm: một thiểu số trả về dữ liệu sản phẩm sử dụng được, một phần lớn trả lại trang kiểm tra bot hoặc CAPTCHA mặc dù có mã trạng thái 200 OK, và phần còn lại thì không bao giờ kết nối. Nhóm giữa là cái bẫy — một đường ống mà coi 200 OK là thành công sẽ âm thầm hấp thụ các trang thử thách vào tập dữ liệu của nó. Việc trích xuất hợp lệ vẫn thấp chính xác vì mã trạng thái và tải trọng không đồng ý với nhau quá thường xuyên.
Trung tâm dữ liệu suy giảm nhanh; chỉ có nhà ở là không đủ
Định tuyến qua các IP nhà ở nâng cao mức sàn — rời khỏi nhà ở mang lại độ tin cậy cao hơn so với các dải trung tâm dữ liệu. Nhưng các proxy nhà ở tự nó vẫn để lại các khoảng cách hành vi và hiển thị mở. Một IP nhà ở gắn liền với một khách hàng HTTP thông thường vẫn không thực hiện các tập lệnh trang của Walmart, trình bày một dấu vân tay mảnh mai, và trả về vỏ không được giữ nước. IP được tin tưởng hơn; yêu cầu vẫn nhận ra là tự động.
Điều gì thực sự thu hẹp khoảng cách
Con đường đáng tin cậy chống lại Walmart kết hợp ba yếu tố mà một proxy thô không thể cung cấp một mình:
- Một trình duyệt được hiển thị thực sự thực thi JavaScript của Walmart, vì vậy lưới sản phẩm được giữ nước vào DOM.
- Rời khỏi nhà ở để IP mang độ tin cậy mà một dải trung tâm dữ liệu thiếu.
- Sự đồng nhất hành vi và dấu vân tay — cookie được giữ qua các yêu cầu, một dấu vân tay khớp với lưu lượng cơ hữu, và trạng thái phiên cần được duy trì.
Sự kết hợp đó là những gì Scraping Browser không có dấu vết cung cấp như là một bề mặt được quản lý duy nhất.
Proxy chung so với trình duyệt đám mây đã được hiển thị
| Tính năng | Proxy Mỹ chung | Trình duyệt Scraping không có dấu vết |
|---|---|---|
| Chuyển tiếp yêu cầu từ một IP của Mỹ | Có | Có |
| Chạy JavaScript của Walmart (hiển thị lưới sản phẩm) | Không | Có — hiển thị bên đám mây |
| Bắt CAPTCHA-dưới-200 (trả về trang thực, không phải thử thách) | Không | Có — lưới đã hiển thị giữ nước hoặc thử thách là rõ ràng |
| Rời khỏi nhà ở | Chỉ nếu rõ ràng là nhà ở | Các proxy nhà ở ở 195+ quốc gia |
| Sự đồng nhất hành vi / phiên (cookie, thời gian) | Không | Có — trạng thái phiên liên tục |
| Dấu vân tay trình duyệt chống phát hiện | Không | Có — trên mỗi phiên |
| Sự đồng nhất lưu lượng khu vực | Tập trung lưu lượng từ một nhóm | Phân phối qua một mạng lưới nhà ở |
Một proxy chung trả lời câu hỏi "tôi có thể gửi yêu cầu này từ một IP của Mỹ không?" Trình duyệt Scraping không có dấu vết trả lời câu hỏi thực sự quan trọng: "tôi có thể nhận lại lưới sản phẩm đã được hiển thị không?"
Tại sao chọn Trình duyệt Scraping không có dấu vết
Trình duyệt Scraping không có dấu vết là một trình duyệt đám mây tùy chỉnh, chống phát hiện được thiết kế cho các trình thu thập thông tin web và các tác nhân AI. Đối với Walmart cụ thể, nó mang lại:
- Proxy nhà ở ở 195+ quốc gia, gán vào rời khỏi Mỹ tại thời điểm tạo phiên, vì vậy IP mang độ tin cậy nhà ở thay vì chữ ký trung tâm dữ liệu.
- Hiển thị JavaScript bên đám mây, vì vậy lưới React của Walmart được giữ nước và các nút sản phẩm có mặt trong DOM trước khi trích xuất.
- Duy trì phiên, vì vậy cookie và trạng thái trình duyệt giữ nguyên liên tục qua luồng tìm kiếm → chi tiết thay vì đặt lại trên mỗi yêu cầu.
- Dấu vân tay chống phát hiện trên mỗi phiên, vì vậy trang được hiển thị như nó làm cho lưu lượng cơ hữu.
- Một bề mặt lập trình duy nhất — xây dựng một URL CDP với khóa API của bạn, kết nối với Playwright, và điều khiển một trình duyệt thực mà không cần thiết lập cơ sở hạ tầng.
Việc hiển thị là hành vi có thể quan sát được. Trình duyệt Scraping không có dấu vết hiển thị https://www.walmart.com/search?q=laptop với tiêu đề trang là laptop - Walmart.com, mang lại hơn 160 liên kết sản phẩm (a[link-identifier]) và hàng chục nút [data-item-id] — một lưới sản phẩm thực tế, phân trang thay vì một vỏ thử thách. URLs sản phẩm của Walmart có dạng https://www.walmart.com/ip/<slug>/<id>, và mỗi liên kết kết quả phân giải thành một.
Nhận khóa API của bạn trên gói miễn phí tại app.scrapeless.com. Trang sản phẩm Trình duyệt Scraping và trang Giải pháp Proxy bao gồm mạng lưới nhà ở hỗ trợ trình duyệt đám mây.
Điều kiện tiên quyết
- Python 3.10 trở lên.
- Một tài khoản và khóa API của Scrapeless — đăng ký tại app.scrapeless.com. SDK đọc khóa từ biến môi trường
SCRAPELESS_API_KEY. - Kiến thức cơ bản về terminal và Python.
Cài đặt
Quy trình làm việc sử dụng một gói: Playwright cho Python, khách hàng được hỗ trợ chính thức kết nối với Scrapeless Scraping Browser qua CDP và đọc DOM đã được hiển thị.
bash
pip install playwright
connect_over_cdp của Playwright điều khiển trình duyệt đám mây từ xa, vì vậy bạn không cần playwright install hoặc bất kỳ nhị phân trình duyệt cục bộ nào - việc hiển thị diễn ra ở phía đám mây. Sau đó, xuất khóa API của bạn để nó có thể đi qua URL kết nối:
bash
export SCRAPELESS_API_KEY=your_api_token_here
Cách định dạng kết nối và các hướng dẫn thư viện được tài liệu hóa tại docs.scrapeless.com.
Bước 1 — Xây dựng URL kết nối egress tại Mỹ
Scrapeless Scraping Browser là một điểm cuối CDP. Xây dựng URL WebSocket với khóa API của bạn làm token và egress tại Mỹ là proxyCountry - Walmart là một trang bán lẻ tại Mỹ, và một phiên dân cư tại Mỹ là cơ sở cho một phản hồi có thể sử dụng.
python
import os
from urllib.parse import urlencode
from playwright.sync_api import sync_playwright
def scraping_browser_url(proxy_country="US", session_ttl=240):
# Khóa API đi kèm URL dưới dạng `token`; egress và thời gian sống là các tham số truy vấn.
params = urlencode({
"token": os.environ["SCRAPELESS_API_KEY"],
"sessionTTL": session_ttl,
"proxyCountry": proxy_country,
})
return f"wss://browser.scrapeless.com/api/v2/browser?{params}"
proxyCountry=US định tuyến phiên qua một IP dân cư tại Mỹ. sessionTTL=240 giữ phiên hoạt động đủ lâu để duy trì các cookie qua trang tìm kiếm và các trang chi tiết sản phẩm mà bạn sẽ đến tiếp theo.
Bước 2 — Kết nối qua CDP và mở trang tìm kiếm
Kết nối với điểm cuối Scraping Browser bằng connect_over_cdp của Playwright, sau đó mở URL tìm kiếm Walmart. Bởi vì đây là một trình duyệt thực tế đã được hiển thị, JavaScript của Walmart sẽ thực thi và lưới sản phẩm sẽ được lên kệ trong DOM.
python
SEARCH_URL = "https://www.walmart.com/search?q=laptop"
with sync_playwright() as p:
browser = p.chromium.connect_over_cdp(scraping_browser_url("US"))
page = browser.new_page()
# Khởi động trang chủ trước, sau đó mở tìm kiếm trong cùng một phiên.
page.goto("https://www.walmart.com/", wait_until="domcontentloaded")
page.wait_for_timeout(2500)
page.goto(SEARCH_URL, wait_until="domcontentloaded")
page.wait_for_timeout(4000) # để lưới React hoàn tất quá trình lên kệ
# Xác nhận rằng phản hồi là lưới sản phẩm thực sự, không phải trang kiểm tra.
title = page.title() # "laptop - Walmart.com" trên một bản hiển thị thực tế
cards = page.query_selector_all("a[link-identifier]") # ~160+ điểm neo sản phẩm khi đã lên kệ
print(title, len(cards))
Thời gian chờ ngắn sau khi điều hướng cho phép lưới React hoàn tất quá trình lên kệ trước khi trích xuất. Hai kiểm tra ở trên — tiêu đề trang và số lượng neo a[link-identifier] — là cách bạn xác nhận phản hồi là thực trước khi tin tưởng vào nó. Một trang kiểm tra không mang tiêu đề sản phẩm hoặc hiển thị lưới; một trang thực tế thực hiện cả hai.
Bước 3 — Trích xuất lưới sản phẩm
Mỗi thẻ kết quả tìm kiếm được neo trên a[link-identifier], với các nút [data-item-id] mang id sản phẩm của Walmart. Đi qua các neo và kéo một bản ghi chuẩn hóa cho mỗi sản phẩm: tiêu đề, giá cả, liên kết, và id sản phẩm.
python
import re
def extract_products(page):
products = []
for card in page.query_selector_all("[data-item-id]"):
link_el = card.query_selector("a[link-identifier]")
if not link_el:
continue
href = link_el.get_attribute("href")
item_id = card.get_attribute("data-item-id")
# Tiêu đề nằm trong văn bản liên kết / tên có thể truy cập trên thẻ kết quả.
span = link_el.query_selector("span")
title = span.inner_text() if span else link_el.get_attribute("link-identifier")
# Giá hiển thị trong thẻ sau khi lên kệ; đọc văn bản giá thấy được.
price_el = card.query_selector('[data-automation-id="product-price"]')
price = None
if price_el:
m = re.search(r"\d[\d,]*\.?\d*", price_el.inner_text().replace(",", ""))
price = float(m.group()) if m else None
link = href if not href or href.startswith("http") else f"https://www.walmart.com{href}"
products.append({
"itemId": item_id,
"title": (title or "").strip() or None,
"price": price,
"currency": "USD",
"link": link,
})
return products
Các bộ chọn ở trên (a[link-identifier], [data-item-id], [data-automation-id="product-price"]) là các neo ổn định trên lưới tìm kiếm. Kiểm tra DOM trực tiếp trước khi có bất kỳ sự dịch chuyển bố cục nào: đọc HTML được hiển thị, xác nhận tên các neo hiện tại, và thắt chặt các bộ chọn dựa trên những gì trang thực sự gửi. Các tên lớp công cụ mã hóa thay đổi giữa các lần triển khai; các neo data-* ngữ nghĩa là bề mặt bền vững.
Lấy khóa API của bạn trên gói miễn phí: app.scrapeless.com
Bước 4 — Đi từ một kết quả đến trang chi tiết sản phẩm của nó
Mỗi liên kết kết quả đều dẫn đến một trang chi tiết sản phẩm có dạng https://www.walmart.com/ip/<slug>/<id>. Mở một trang trong cùng một phiên — cookie và dấu vân tay của phiên đó sẽ được chuyển qua, vì vậy trang chi tiết sẽ được hiển thị giống như trang tìm kiếm.
python
def text_of(page, selector):
el = page.query_selector(selector)
return el.inner_text().strip() if el else None
def fetch_detail(page, product_url):
page.goto(product_url, wait_until="domcontentloaded")
page.wait_for_timeout(3000)
price_el = page.query_selector('[itemprop="price"]')
return {
"url": product_url,
"title": text_of(page, "h1"),
"price": (price_el.get_attribute("content") if price_el else None)
or text_of(page, '[data-automation-id="product-price"]'),
"brand": text_of(page, '[itemprop="brand"]'),
"availability": text_of(page, '[data-automation-id="fulfillment-section"]'),
}
# Trong cùng một phiên `with sync_playwright() as p:` từ Bước 2:
products = extract_products(page)
if products and products[0]["link"]:
detail = fetch_detail(page, products[0]["link"])
print(detail)
Việc giữ cho các lượt tìm kiếm và lượt chi tiết trong cùng một phiên là điều gì đó bảo vệ tính nhất quán hành vi: trang chi tiết nhìn thấy cùng một cookie đáng tin cậy và dấu vân tay đã tạo ra lưới tìm kiếm, do đó nó được làm đầy theo cách tương tự. Trang chi tiết cũng cung cấp các trường phong phú hơn — thương hiệu, thông số kỹ thuật đầy đủ, người bán, tùy chọn hoàn thiện — mà thẻ tìm kiếm không mang theo.
Những gì bạn nhận được
Trình duyệt Scraping trả về một DOM được hiển thị trực tiếp; sơ đồ là bất cứ điều gì mà bộ trích xuất đọc ra từ đó. Đối với bộ trích xuất lưới tìm kiếm Bước 3, một bản ghi trông như thế này:
json
// Sơ đồ phản ánh chính xác những gì bộ trích xuất Bước 3 phát ra.
// Giá trị trường là các mẫu minh họa, không phải là bản chụp của bất kỳ sản phẩm nào hôm nay.
{
"query": "https://www.walmart.com/search?q=laptop",
"resultCount": 60,
"products": [
{
"itemId": "5689219329",
"title": "Ví dụ Laptop 15.6 inch, RAM 16GB, SSD 512GB",
"price": 499.0,
"currency": "USD",
"link": "https://www.walmart.com/ip/Example-Laptop-15-6-in/5689219329"
},
{
"itemId": "7741203355",
"title": "Ví dụ Laptop Màn hình cảm ứng 2-trong-1, RAM 8GB, SSD 256GB",
"price": 379.0,
"currency": "USD",
"link": "https://www.walmart.com/ip/Example-2-in-1-Laptop/7741203355"
}
]
}
Một vài quan sát thành thật về đầu ra này, đáng biết trước khi chạy quy mô lớn:
- Thời gian hydrat hóa. Lưới tìm kiếm của Walmart lắp đặt một khung xương trước, sau đó điền dữ liệu cho các thẻ. Việc chờ một chút sau khi điều hướng trước khi trích xuất là điều quan trọng quyết định một lưới hoàn chỉnh thay vì lưới một phần. Nếu một lượt trả về rất ít thẻ, có thể lưới chưa hoàn thành việc hydrat hóa — hãy đọc lại HTML đã hiển thị trước khi siết chặt các bộ chọn.
- Xác nhận 200 là thật. Sự hiện diện của tiêu đề sản phẩm (
laptop - Walmart.com) và một số lượng đếm được của các liên kếta[link-identifier]là tín hiệu cho thấy phản hồi là trang thực. Một lưới trống hoặc thiếu tiêu đề có nghĩa là thân bài là một thách thức hoặc vỏ bọc bất kể dòng trạng thái. - Trường có điều kiện. Không phải mọi thẻ đều có giá hiển thị (hết hàng hoặc vị trí tài trợ khác nhau) và trang chi tiết tiết lộ các trường mà thẻ tìm kiếm không có. Xem các trường vắng mặt như
nullthay vì bỏ qua khóa, để các người tiêu dùng ở phía dưới vẫn ổn định. - Tính ổn định của bộ chọn.
a[link-identifier],[data-item-id], và[data-automation-id="product-price"]là các điểm neo bền vững. Tên lớp được mã hóa thay đổi giữa các phiên bản; hãy dựa vào các thuộc tính ngữ nghĩadata-*. - Biến thể khu vực. Giá cả, tình trạng sẵn có và bộ kết quả tự nó thay đổi theo khu vực. Ghim
proxyCountrymột cách nhất quán để một chuỗi lịch sử giá so sánh giống với giống.
Kết luận: mở rộng quy trình sản phẩm Walmart của bạn
Scraping Walmart một cách đáng tin cậy phụ thuộc vào một nguyên tắc: mã trạng thái không phải là tín hiệu của thành công — mà là một lưới sản phẩm đã được hiển thị. Các proxy chung chuyển tiếp byte từ một IP của Mỹ và dừng lại ở đó, đó là lý do tại sao một tiêu chuẩn công khai đặt mức trích xuất hợp lệ của proxy chung dưới 40%, với nhóm thất bại lớn nhất là các trang bot được phục vụ dưới mã trạng thái 200. Giải pháp không phải là một proxy tốt hơn; mà là một trình duyệt đã được hiển thị thực sự với lối ra dân cư và hành vi phiên nhất quán.
Trình duyệt Scraping Scrapelss cung cấp điều đó như một bề mặt: tạo một phiên dân cư Mỹ, kết nối qua CDP, hiển thị URL tìm kiếm, xác nhận lưới sản phẩm có mặt, trích xuất các bản ghi và đi đến các trang chi tiết sản phẩm trong cùng một phiên. Ghim lối ra dân cư của Mỹ, giữ các lượt tìm kiếm và lượt chi tiết trong cùng một phiên, xác nhận phản hồi chứa tiêu đề sản phẩm và các điểm neo của lưới trước khi tin tưởng nó, và coi các trường vắng mặt là có thể null.
Để có phương pháp tương tự trên các trang bán lẻ và niêm yết khác, hãy xem các hướng dẫn chị em Công cụ lấy dữ liệu tốt nhất Zillow năm 2026 và Công cụ lấy dữ liệu tốt nhất Amazon năm 2026.
Bạn đã sẵn sàng xây dựng đường ống dữ liệu sử dụng AI chưa?
Tham gia cộng đồng của chúng tôi để nhận kế hoạch miễn phí và kết nối với các nhà phát triển xây dựng đường ống dữ liệu bán lẻ: Discord · Telegram.
Đăng ký tại app.scrapeless.com để nhận phiên bản runtime Scraping Browser miễn phí và điều chỉnh các mẫu ở trên cho các truy vấn, danh mục và vùng của Walmart mà đường ống cần. Xem các kế hoạch hiện tại trên trang giá cả.
Câu hỏi thường gặp
Q1: Tại sao một proxy ở Mỹ vẫn bị chặn trên Walmart?
Bởi vì Walmart xem xét nhiều thứ hơn là quốc gia mà một IP giải quyết. Nó kiểm tra uy tín IP, tính nhất quán hành vi và tập trung lưu lượng khu vực. Một proxy cấp quốc gia của Mỹ chỉ đáp ứng kiểm tra quốc gia; nó không chạy JavaScript hoặc giữ trạng thái phiên. Thực tế, hầu hết các phản hồi của proxy chung trên Walmart không phải là dữ liệu sản phẩm sử dụng được.
Q2: Chỉ sử dụng proxy dân cư có đủ không?
Không. Kết nối ra ngoài khu dân cư nâng cao độ tin cậy so với phạm vi trung tâm dữ liệu, nhưng một IP dân cư gắn với một máy khách HTTP đơn giản vẫn không hiển thị trang hoặc giữ dấu vân tay trình duyệt nhất quán. Con đường đáng tin cậy kết hợp kết nối ra ngoài dân cư với trình duyệt thực sự được hiển thị và trạng thái phiên liên tục — mà Scrapeless Scraping Browser kết hợp trong một phiên.
Q3: Làm thế nào để tôi xác nhận rằng phản hồi 200 là thực và không phải là trang CAPTCHA?
Kiểm tra tải trọng, không phải dòng trạng thái. Trên một trang tìm kiếm thực sự của Walmart, tiêu đề trang là laptop - Walmart.com và DOM chứa các liên kết sản phẩm (a[link-identifier]) và các nút [data-item-id]. Nếu tiêu đề không có và lưới trống, phần thân là một thử thách hoặc một khung không được hiển thị bất kể trạng thái 200.
Q4: Tôi có thể thực hiện bao nhiêu yêu cầu song song?
Giữ tính song song ở mức hợp lý — khoảng ba tác giả mỗi máy chủ — và giữ kết nối ra ngoài ở Mỹ trên mỗi phiên. Để phân phối lớn hơn, chia nhỏ qua các máy chủ thay vì tăng tính song song trên một máy chủ đơn, để lưu lượng vẫn được phân phối tự nhiên.
Q5: Walmart đã thay đổi DOM và các trình chọn của tôi bị lỗi. Bây giờ phải làm sao?
Đọc lại HTML được hiển thị trực tiếp, xác định các liên kết ổn định hiện tại (a[link-identifier], [data-item-id], thuộc tính data-automation-id), và thắt chặt bộ trích xuất theo những gì trang hiện có. Nên dựa vào các thuộc tính data-* ngữ nghĩa thay vì các tên lớp đã băm, chúng sẽ thay đổi qua các lần triển khai.
Q6: Điều này có thể chạy mà không cần một tác nhân AI không?
Có. Python trong các bước 1–4 hoạt động độc lập — tạo phiên, kết nối qua CDP, hiển thị và trích xuất. Việc điều khiển nó từ một tác nhân AI chỉ là một lớp tiện ích bổ sung, không phải là yêu cầu.
Tại Scrapless, chúng tôi chỉ truy cập dữ liệu có sẵn công khai trong khi tuân thủ nghiêm ngặt các luật, quy định và chính sách bảo mật trang web hiện hành. Nội dung trong blog này chỉ nhằm mục đích trình diễn và không liên quan đến bất kỳ hoạt động bất hợp pháp hoặc vi phạm nào. Chúng tôi không đảm bảo và từ chối mọi trách nhiệm đối với việc sử dụng thông tin từ blog này hoặc các liên kết của bên thứ ba. Trước khi tham gia vào bất kỳ hoạt động cạo nào, hãy tham khảo ý kiến cố vấn pháp lý của bạn và xem xét các điều khoản dịch vụ của trang web mục tiêu hoặc có được các quyền cần thiết.



