Amazon Ürün Verileri Neden Yararlanıyor?
Amazon dünya çapında düzinelerce pazarda 350 milyondan fazla ürün barındırıyor. e-ticaret işletmeler için, bu veriler paha biçilmez: rakip fiyatlandırma, ürün açıklaması, müşteri yorumları, En İyi Satıcılar Derecesi ve envanter sinyalleri tüm daha akıllı kararlar alabilir. İsterseniz fiyat izleme aracıPazarlama araştırmalarını yürütmek veya bir AI modeli eğitimi yapmak, Amazon ürün verileri web'deki en yüksek değerli hedeflerden biridir.
Sorun, Amazon'un anti-bot savunmalarında ağır yatırım yapmasıdır. Doğru strateji proxy olmadan, hurdalarınız CAPTCHAs, IP bloklarına ve birkaç dakika içinde yanıltıcı cevaplara çarpacaktır. Bu kılavuz sizi mimarlık, kod ve proxy konfigürasyonu ölçeğinde Amazon'u güvenilir bir şekilde kazımak için yürür.
Amazon'un Anti-Bot Korumaları
Tek bir kod hattı yazmadan önce, neye karşı olduğunuzu anlamanız gerekir. Amazon, her gelen isteği analiz eden bir tabakalı algılama sistemi kullanıyor.
Parmak izi
Amazon HTTP başlıklarını, TLS parmaklarını inceler ve sipariş talep eder. Talepler standart tarayıcı başlıkları eksik veya bilinen bot imzalarını kullanmak hemen bayraklandırılmıştır. The The The The The The The The Accept-Language, Accept-EncodingVe User-Agent Başlıklar tutarlı ve gerçekçi olmalıdır.
Davranış Analizi
Bir oranda gelen istekler insan elde edemez veya öngörülebilir desenleri takip edebilir (örneğin, eşdeğer ASINs), hız sınırlamasını tetikler. Amazon birden çok istekte oturum davranışını izler, bu yüzden her IP gerçek bir dükkanper gibi davranmalıdır.
CAPTCHA Challenges
Amazon otomatik trafikten şüphelendiğinde, ürün verileri yerine CAPTCHA sayfasına hizmet eder. Konut IP'leri veri merkezi IP'lerden çok daha az CAPTCHAs alıyor çünkü aynı IP havuzlarını gerçek Amazon alışverişleri olarak paylaşıyorlar. Daha derin bir algılama yöntemlerine bakmak için rehberimizi görün Anti-bot sistemlerinin nasıl algılandığını nasıl algılar.
Key takeaway: Uygun rotasyonla ev sahipleri, Amazon'u kazımak için gereklidir. Datacenterants saat içinde bloke edilecektir.
Amazon'dan alıntı yapabilirsiniz
| Data Point | Source Page | Vaka Kullanımı |
|---|---|---|
| Ürün adı, görüntüler, açıklama | Ürün detay sayfası | Kataloğu binası, içerik analizi |
| Mevcut fiyat, fiyat, liste fiyat | Ürün detayı / liste listesi | Fiyat izleme, repricing |
| Müşteri yorumları ve derecelendirmeleri | İnceleme sayfaları | Sentiment analizi, ürün araştırma |
| En İyi Sellers Rank (BSR) | Ürün detay sayfası | Pazar talep tahmini tahmin tahmini |
| Box satıcısı satın almak, bilgi göndermek | Ürün detay sayfası | Yetkin takip |
| Arama sonuç sıralaması | Arama sonuçları sayfalar | SEO ve reklam optimizasyonu |
| Kategori hiyerarşi | Göz düğümleri | Taxonomy mapping |
Ayarlayın
ProxyHat'ın konut proxy ağ geçidi, Amazon scraping için gerekli IP çeşitliliği ve geo-targeting sağlar. Ağ geçidimiz aracılığıyla bağlanır ve IP'leri her istekte otomatik olarak döndürür veya gerektiğinde yapışkan seanslar tutar.
Temel Bağlantı
# HTTP proxy
http://USERNAME:PASSWORD@gate.proxyhat.com:8080
# With geo-targeting (US Amazon)
http://USERNAME-country-US:PASSWORD@gate.proxyhat.com:8080
# With sticky session (maintain same IP for a browsing session)
http://USERNAME-session-amz001:PASSWORD@gate.proxyhat.com:8080Amazon'un kazıdığı için, ülkeyi kazıdığınız pazarı eşleştirmeyi öneriyoruz. Amazon.de'yi mı terk ediyorsun? Alman IP'leri kullanın. amazon.co.jp? Japon IP'leri kullanın. Check Check Check Check Mevcut yerlerde mevcut yerler mevcut Tam liste için.
Python Uygulaması
İşte Amazon ürün verileri için tam bir Python scraper ProxyHat's Python SDK İstekler ve Güzel Soup.
Temel Ürün Yararlayıcı
import requests
from bs4 import BeautifulSoup
import random
import time
import json
PROXY_URL = "http://USERNAME:PASSWORD@gate.proxyhat.com:8080"
USER_AGENTS = [
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:125.0) Gecko/20100101 Firefox/125.0",
]
def get_amazon_product(asin, marketplace="com"):
"""Scrape product data from Amazon by ASIN."""
url = f"https://www.amazon.{marketplace}/dp/{asin}"
headers = {
"User-Agent": random.choice(USER_AGENTS),
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Accept-Language": "en-US,en;q=0.9",
"Accept-Encoding": "gzip, deflate, br",
"Connection": "keep-alive",
}
proxies = {
"http": PROXY_URL,
"https": PROXY_URL,
}
response = requests.get(url, headers=headers, proxies=proxies, timeout=30)
if response.status_code != 200:
return None
soup = BeautifulSoup(response.text, "html.parser")
product = {
"asin": asin,
"title": extract_title(soup),
"price": extract_price(soup),
"rating": extract_rating(soup),
"review_count": extract_review_count(soup),
"bsr": extract_bsr(soup),
"availability": extract_availability(soup),
}
return product
def extract_title(soup):
el = soup.find("span", {"id": "productTitle"})
return el.get_text(strip=True) if el else None
def extract_price(soup):
el = soup.find("span", {"class": "a-price-whole"})
if el:
fraction = soup.find("span", {"class": "a-price-fraction"})
price = el.get_text(strip=True).rstrip(".")
if fraction:
price += "." + fraction.get_text(strip=True)
return price
return None
def extract_rating(soup):
el = soup.find("span", {"class": "a-icon-alt"})
if el and "out of" in el.get_text():
return el.get_text(strip=True).split(" ")[0]
return None
def extract_review_count(soup):
el = soup.find("span", {"id": "acrCustomerReviewCount"})
return el.get_text(strip=True) if el else None
def extract_bsr(soup):
el = soup.find("th", string=lambda t: t and "Best Sellers Rank" in t)
if el:
return el.find_next("td").get_text(strip=True)
return None
def extract_availability(soup):
el = soup.find("div", {"id": "availability"})
return el.get_text(strip=True) if el else None
# Example usage
if __name__ == "__main__":
asins = ["B0CHX3QBCH", "B0D5BKRY4R", "B0CRMZHDG7"]
for asin in asins:
product = get_amazon_product(asin)
if product:
print(json.dumps(product, indent=2))
time.sleep(random.uniform(2, 5)) # Random delay between requestsArama Sonuçları için Pagination
def scrape_search_results(keyword, max_pages=5):
"""Scrape Amazon search results with pagination."""
results = []
for page in range(1, max_pages + 1):
url = f"https://www.amazon.com/s?k={keyword}&page={page}"
headers = {
"User-Agent": random.choice(USER_AGENTS),
"Accept-Language": "en-US,en;q=0.9",
}
proxies = {"http": PROXY_URL, "https": PROXY_URL}
response = requests.get(url, headers=headers, proxies=proxies, timeout=30)
if response.status_code != 200:
print(f"Page {page}: status {response.status_code}")
break
soup = BeautifulSoup(response.text, "html.parser")
items = soup.find_all("div", {"data-component-type": "s-search-result"})
for item in items:
asin = item.get("data-asin", "")
title_el = item.find("h2")
price_el = item.find("span", {"class": "a-price-whole"})
results.append({
"asin": asin,
"title": title_el.get_text(strip=True) if title_el else None,
"price": price_el.get_text(strip=True) if price_el else None,
"page": page,
})
time.sleep(random.uniform(3, 7))
return resultsNode.js Uygulama
Node.js projeleri için, kullanın ProxyHat's Node SDK Parsing için neşeli ile.
const axios = require("axios");
const cheerio = require("cheerio");
const { HttpsProxyAgent } = require("https-proxy-agent");
const PROXY_URL = "http://USERNAME:PASSWORD@gate.proxyhat.com:8080";
const agent = new HttpsProxyAgent(PROXY_URL);
const USER_AGENTS = [
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/124.0.0.0 Safari/537.36",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 Chrome/124.0.0.0 Safari/537.36",
];
async function scrapeProduct(asin, marketplace = "com") {
const url = `https://www.amazon.${marketplace}/dp/${asin}`;
const { data } = await axios.get(url, {
httpsAgent: agent,
headers: {
"User-Agent": USER_AGENTS[Math.floor(Math.random() * USER_AGENTS.length)],
"Accept-Language": "en-US,en;q=0.9",
Accept: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
},
timeout: 30000,
});
const $ = cheerio.load(data);
return {
asin,
title: $("#productTitle").text().trim() || null,
price: $(".a-price-whole").first().text().trim() || null,
rating: $(".a-icon-alt").first().text().trim().split(" ")[0] || null,
reviewCount: $("#acrCustomerReviewCount").text().trim() || null,
availability: $("#availability").text().trim() || null,
};
}
async function scrapeMultiple(asins) {
const results = [];
for (const asin of asins) {
try {
const product = await scrapeProduct(asin);
results.push(product);
console.log(`Scraped: ${product.title}`);
} catch (err) {
console.error(`Failed ${asin}: ${err.message}`);
}
// Random delay 2-5 seconds
await new Promise((r) => setTimeout(r, 2000 + Math.random() * 3000));
}
return results;
}
// Usage
scrapeMultiple(["B0CHX3QBCH", "B0D5BKRY4R"]).then((results) => {
console.log(JSON.stringify(results, null, 2));
});Amazon için Proxy Rotation Strategies
Amazon'un tespiti, tek bir IP'den daha agresif hale gelir. İşte en iyi çalışan rotasyon stratejileridir.
Per-Request Rotation
Her isteğin bağımsız olduğu toplu ürün aramaları için, IP'leri her istekte döndürür. Bu, ProxyHat'ın ağ geçidi ile varsayılan davranış: Her yeni bağlantı taze bir konut IP alır.
Oturum tabanlı Rotation
Birden fazla sayfa boyunca arama sonuçlarını kazırken, tüm seans için aynı IP'yi korur. IP'leri orta-paginasyon Amazon'a şüpheli görünüyor. ProxyHat'ın yapışkan seanslarını kullanın:
# Maintain same IP for up to 10 minutes
http://USERNAME-session-search001:PASSWORD@gate.proxyhat.com:8080Geo-Targeted Rotation
Konum proxy'nizi Amazon pazarına eşleştirin. Bir ABD IP'den Amazon.de erişim bayrakları yükseltir. Hedef spesifik ülkeler:
# German IPs for amazon.de
http://USERNAME-country-DE:PASSWORD@gate.proxyhat.com:8080
# Japanese IPs for amazon.co.jp
http://USERNAME-country-JP:PASSWORD@gate.proxyhat.com:8080
# UK IPs for amazon.co.uk
http://USERNAME-country-GB:PASSWORD@gate.proxyhat.com:8080rotasyon teknikleri hakkında daha fazla bilgi için, ayrıntılı rehberimizi okuyun Web için en iyi referanslar 2026'da kazınıyor.
Amazon için en iyi uygulamalar
- Rastgele gecikmeler: İstekler arasında 2-7 saniye rastgele aralıkları kullanın. Asla sabit bir hızda kazın.
- Rotate User-Agents: En az 10 gerçekçi tarayıcı Kullanıcı-Agent dizeleri bir havuz tutmak ve onları döndürmek.
- Yavaşça CAPTCHAs: Bir CAPTCHA cevabı alırsan, 30-60 saniye boyunca geri dönün ve yeni bir IP ile tekrar deneyin.
- Saygı robotlar.txt: Çoğu yargıda yasal olarak bağlayıcı olmasa da, robotlar.txt yönergeleri iyi bir inanç gösterir.
- Ev sahibi kullanın: Datacenter IPs Amazon tarafından kolayca tanımlanır ve bloke edilir. Konut temsilcileri Aynı IP aralıklarını gerçek tüketiciler olarak paylaşın.
- Başarı oranları: HTTP 200 oranını takip edin. Eğer %90'ın altına düşerse, koncurrency azaltır veya rotasyon stratejinizi ayarlar.
- Önleyici cevaplar: Veriler değişmezse aynı URL'yi iki kez kazımayın. Rehber ürün verileri ve sık sık fiyatların nasıl değiştiğine dayanan yeni aralıklar ayarla.
Amazon'unuzu selamlamak
Yüzlerce ila milyonlarca üründen hareket ederken mimarlık önemlidir.
Queue-Based Architecture
ASIN listesini yönetmek için bir mesaj kuyruğu (Redis, TavşanMQ veya SQS) kullanın. Worker süreçleri, ASIN'leri kuyruktan çıkarır ve sonuçları bir veri mağazasına itir. Bu de, kazıktan zamanlama yapar ve işçileri bağımsız olarak ölçeklendirmenize izin verir.
Uygunluk Kontrolü
5-10 eş zamanlı istekle başlayın ve başarı oranlarını takip ederken yavaş yavaş artış. ProxyHat'ın konut havuzu ile, genellikle sorunlar olmadan 20-50 eş zamanlı seans çalıştırabilirsiniz. Görmemize bakın Web scraping use case page önerilen konfigürasyonlar için.
Data pipeline
Bir nesne mağazasında ham HTML (S3) yeniden işleme için ve PostgreSQL veya bir veri deposundaki verileri parlar. Bu ayrılık, yeniden-scraping olmadan böcekleri düzeltmenize olanak sağlar.
Pro ipucu: Amazon ürün sayfaları sık sık yapısını değiştirir. Mağaza ham HTML, böylece seçiciler değiştiğinde, Amazon'u tekrar vurmadan tekrar tekrar tekrar tekrar tekrar güncel veriler öğrenebilirsiniz.
Yasal ve Etik Bakışlar
Web scraping, halka açık veriler için çoğu yargıda yasaldır, ancak sorumlu uygulamalar önemlidir. Sadece halka açık gösterilen verileri toplayın. Gerçekleştirilmiş sayfalara, satıcı hesaplarına veya özel verilere erişmeye çalışmayın. Diğer kullanıcılar için Amazon'un hizmetini yükseltmekten kaçınmanızı sağlayın. Sadece ihtiyacınız olan veriler ve geçerli gizlilik yasalarına uygun olarak idare edin.
Key Takeaways
- Amazon'un anti-bot sistemi, hedef pazarı eşleştirmek için geo-targeting ile konut proxy gerektirir.
- Rotate IPs per request for Bulk lookups; paginated browse için yapışkan seanslar kullanın.
- Rastgele gecikmeler, Kullanıcı-Agents ve algılamayı önlemek için modeller talep eder.
- Birkaç bin ürünün ötesinde ölçeklendirmek için kuyruk tabanlı bir mimari inşa edin.
- Seçici değişikliklere karşı dayanıklılık için ham HTML.
- Use Use Use Use Use Use ProxyHat'ın konut temsilcileri Tüm Amazon pazarlarında yüksek başarı oranları için.
Amazon verilerini yok etmeye hazır mısın? Bizim e-ticaret verileri kılavuzluk Tam stratejiyi kapsar ve ProxyHat'ın proxy altyapısını keşfedebilirsiniz Fiyat sayfası.






