Amazon là mỏ vàng cho việc theo dõi giá và nghiên cứu sản phẩm, đồng thời là một trong những site được phòng thủ gắt gao nhất trên web. Scrape nó từ một IP datacenter và bạn sẽ thấy CAPTCHA, bức tường "Robot Check", giá xoay vòng, hoặc lỗi 503 chỉ sau vài request. Hướng dẫn này bao quát những gì Amazon kiểm tra, chiến lược proxy sống sót được với nó, và kỷ luật phiên giúp giữ giá và dữ liệu Buy Box chính xác.
Proxy datacenter là ngõ cụt trên Amazon ở bất kỳ khối lượng thực nào — exit residential với ASN sạch mới là thứ duy trì được. Quan trọng không kém: hãy khớp quốc gia exit với marketplace bạn đang scrape. Lấy giá amazon.de qua một exit Mỹ sẽ cho bạn giá, tiền tệ và Buy Box của Mỹ, điều này âm thầm làm hỏng tập dữ liệu của bạn. Một địa lý exit cho mỗi marketplace.
Amazon cá nhân hóa theo phiên — thêm-vào-giỏ, vị trí giao hàng, và các bài kiểm tra giá đều nằm trong cookie. Nếu bạn xoay IP ở mỗi request, bạn liên tục reset bối cảnh đó và nhận giá cùng người thắng Buy Box không nhất quán. Hãy giữ một phiên sticky cho trọn lần scrape một sản phẩm, rồi mới xoay vòng tại ranh giới sản phẩm hoặc tác vụ:
import itertools, time, random
from curl_cffi import requests
PROXIES = ["socks5h://USERNAME:[email protected]:913", "..."]
pool = itertools.cycle(PROXIES)
def scrape_product(asin, proxy):
# Same sticky exit for every page of this product
s = requests.Session(impersonate="chrome",
proxies={"http": proxy, "https": proxy})
detail = s.get(f"https://www.amazon.com/dp/{asin}")
offers = s.get(f"https://www.amazon.com/gp/offer-listing/{asin}")
return detail.text, offers.text
for asin in asins:
proxy = next(pool) # new sticky exit per product
if "Robot Check" in scrape_product(asin, proxy)[0]:
# flagged - back off, rotate, retry on a fresh exit
...
time.sleep(random.uniform(2.0, 5.0))
Cũng như với scraping Google SERP, kỷ luật giúp bạn sống sót là tốc độ trên mỗi exit, không phải kích thước pool. Hãy ngẫu nhiên hóa khoảng cách, giới hạn số kết nối đồng thời trên mỗi IP, và khi bạn thấy "Robot Check" hoặc một lỗi 503, hãy ngừng đụng đến exit đó và lùi lại — cố thử lại vào một IP đã bị gắn cờ chỉ kéo dài thời gian bị chặn.
Một lệnh requests thuần gửi đi một JA3 đánh dấu bạn là tự động hóa trước cả khi điểm IP được áp dụng. Hãy gửi dấu vân tay trình duyệt bằng curl_cffi (như trên) hoặc một trình duyệt thật — xem Vượt Qua Lấy Dấu Vân Tay TLS Với curl_cffi. Nếu Amazon dựng một bức tường CAPTCHA bằng JS, hãy leo thang lên một engine trình duyệt thật.
Người dùng mới nhận 500MB khi đăng ký, cùng tiền thưởng cho lần nạp đầu tiên. Ưu đãi có thời hạn.