Key Takeaways
- E-ticaret, rekabetçi fiyatlar, piyasa araştırmaları ve ürün istihbaratı – ancak büyük platformlar birkaç dakika içinde korunmasız hurdaları bloke eden agresif anti-bot sistemleri kullanıyor.
- Konut temsilcileri, e-ticaret için en etkili proxy türüdür, çünkü platformların gerçek alışverişlerden ayırt edemeyeceği gerçek ISS-assigned IP'leri kullanırlar.
- Farklı platformlar farklı stratejiler gerektirir: Amazon'un geo-targeting ile yüksek rotasyona ihtiyacı vardır, ancak çok sayıda, ve Walmart API uç noktalarını belirli sayfalarla birleştirir.
- Geo-targetedants, bölgeler boyunca fiyat izleme için önemlidir, çünkü e-ticaret platformları farklı fiyatlara, ürün kullanılabilirliğine ve ziyaretçi konumuna dayanan promosyonlara hizmet vermektedir.
- Bir üretim-grad e-ticaret boru hattı, dönen konut proxylerini, akıllı yeniden deneme mantığını birleştirir ve milyonlarca ürün listesini güvenilir bir şekilde izlemek için toplu işleme planlayın.
E-Ticaret Verileri Neden Yararlanıyor
E-ticaret, web'deki diğer herhangi bir veri kaynağından daha aksiyonlu rekabetçi istihbarat oluşturur. Ürün fiyatları saat değiştirir. Yeni satıcılar günlük pazarlara girerler. Promosyonlar görünür ve saatlerce kaybolur. Online ürünleri satan herhangi bir iş için - ya da bunu yapanlarla rekabet edin - e-ticaret için referanslar Bir veri odaklı stratejinin temelidir.
İşte e-ticaret hurdalığının sağladığı şey:
- Dinamik fiyatlandırma istihbaratı: Rakip fiyatları gerçek zamanlı olarak izleyin ve rekabet ederken marjları maksimize etmek için kendi fiyat stratejinizi ayarlayın.
- Ürün katalog izleme: Yeni ürün fırlatma, stok seviyeleri, ürün açıklaması ve rakip mağazalardaki değişiklikler.
- Pazar araştırması: Analyze ürün kategorileri, en iyiseller sıralaması, müşteri inceleme duyguları ve yeni segmentlere girmeden önce piyasa eğilimleri.
- MAP uyumluluğu: Brands, tüm bayi ve domain bayi ağıyla ilgili Asgari Reklamlı Fiyat ihlallerini izleyebilir.
- Kurşun nesli: Satıcı bilgilerini, marka yönetmenleri ve iş iletişim verileri pazar listelerinden alıntılar.
Sorun şu ki e-ticaret platformları internetteki en ağır korunan siteler arasında. Amazon, Walmart, Hedef, eBay ve büyük Shopify, otomatik veri toplamayı engellemek için tasarlanmış sofistike anti-bot sistemleri dağıtıyor. Doğru altyapı olmadan, hurdalarınız tek bir veri noktası toplamaktan önce başarısız olacaktır.
E-Ticaret Sitelerini Çıkarmanın Meydanları
E-ticaret platformları milyonlarca anti-bot teknolojisine yatırım yapmaktadır. Bu savunmaları anlamak, herhangi bir hurda hattı inşa etmeden önce önemlidir.
Gelişmiş Anti-Bot Systems
Büyük e-ticaret platformları, işletme-grad bot tespitini dağıtır. Amazon, IP itibarı skorunu birleştiren özel bir sistem kullanıyor, TLS parmak izi, tarayıcı davranışsal analiz ve makine öğrenme sınıflandırması. Walmart PerimeterX (şimdi HUMAN Güvenlik) entegre eder ve bu da fare hareketlerini, kaydırma modellerini ve JavaScript uygulama ortamlarını analiz eder. Müşteriler giderek daha fazla Bulutflare Bot Yönetimi kullanıyor, bu da bilinen IP'lerin küresel bir tehdit istihbarat veritabanını koruyor.
Dinamik İçerik ve JavaScript
Modern e-ticaret siteleri ürün verilerini, fiyatları ve JavaScript üzerinden dinamik olarak inceler. JavaScript'i yürütmeyen basit bir HTTP isteği boş bir kabuk dönecektir - fiyat yok, ürün ayrıntıları yok, yorum yok. Bu, etkili e-ticaret sık sık sık Puppeteer veya Playwright gibi kafasız tarayıcılar gerektirir, bu da kaynak tüketimini arttırır ve proxy yönetimini daha karmaşık hale getirir.
Geo-Specific Fiyat ve İçerik
E-ticaret platformları ziyaretçi konumuna göre farklı içeriklere hizmet eder. Amazon.com, New York, Londra veya Tokyo'dan göz atıp bakmanıza bağlı olarak farklı fiyatlar, nakliye seçenekleri ve hatta ürün kullanılabilirliği gösterir. Geo-targeting için hesaplanmamış bir fiyat izleme sistemi, yanlış veriler üretecektir. Fiyatları izlemek istediğiniz belirli bölgelerde referanslara ihtiyacınız var.
Limiting and Session Management
E-ticaret siteleri sıkı oran sınırları uygular. Amazon tipik olarak CAPTCHAs veya blokları tetiklemeden önce tek bir IP'den 10-15 talep sağlar. Walmart yeni veya güvenilir olmayan IPs ile daha katıdır. Bu sınırlar, 100.000 ürünün bir katalogunu izlemenin koordinasyonda dönen binlerce IP adresi gerektirdiği anlamına gelir - bir avuç statik proxy değil.
Yapısal Değişiklikler ve A/B Test
E-ticaret siteleri sürekli olarak HTML yapısını A/B testleri ve yeniden tasarımlarla değiştirir. CSS bugün bir fiyat çıkarmak veya yarın hiçbir şey iade edebilir. Robust scraping sistemleri izleme, doğrulama ve insan müdahalesi olmadan bu değişiklikleri işlemek için uyarılmalıdır.
Neden Proxies E-Ticaret Yararlı
Kaynaklar olmadan, anlamlı ölçekte herhangi bir e-ticaret projesi imkansızdır. İşte neden:
- IP rotasyonu engellemeyi önler: Binlerce IP üzerinden gelen talepler, tek bir adresin limitlerini aşmamasını veya bot algılama modellerini tetikler.
- Konut IP'leri itibar kontrollerini geçer: Anti-bot sistemleri veri tabanı IP aralıklarının veritabanılarını korur. Konut temsilcileri Gerçek ISS'ler tarafından gerçek hanelere atanan IP'leri kullanın, onları gerçek alışverişlerden ayırt edilebilir hale getirin.
- Geo-targeting bölgesel fiyat sağlar: Belirli ülkelerde ve şehirlerde Proxies Yerel tüketicilerin gördüklerini tam olarak görmenize izin verin - yerel fiyatlar, para, promosyonlar ve ürün kullanılabilirliği dahil.
- Oturum gerektiğinde devam ediyor: Bazı kazı görevleri (kullanıcı paginasyon, kontrol akışları) aynı IP'yi birden fazla istekte tutmak gerektirir. Sticky seansları proxy bunu mümkün kılar.
- Scalability: Milyonlarca IP ile bir ağ, mimari değişiklikler olmadan 1.000 üründen 1.000.000 ürüne kadar ölçeklendirmenizi sağlar.
E-Ticaret için en iyi Proxy Türleri
Tüm proxy türleri e-ticaret platformlarında eşit performans göstermez. Seçiminiz hedef siteye bağlıdır, hacmi kazır ve bütçeye bağlıdır. Daha derin bir at proxy türleri için, bizi gör Konut vs datacenter vs mobil karşılaştırma rehberi.
| Platform | Konut Konut Konut Konut | Datacenter | Mobile Mobile Mobile | Önerilen önerilen önerilen önerilen |
|---|---|---|---|---|
| Amazon Amazon Amazon | Yüksek başarı (95+) | Low (heavy bloke) | Çok yüksek (% 98+) | Konut Konut Konut Konut |
| Walmart | Yüksek başarı (% 93+) | Çok düşük (blok) | Çok yüksek (% 97+) | Konut Konut Konut Konut |
| Shopify mağazaları | Çok yüksek (% 97+) | Moderate (60-80%) | Çok yüksek (% 99+) | Konut / Datacenter mix |
| eBay | Yüksek (94+) | Low-mode (40-6%) | Çok yüksek (% 97+) | Konut Konut Konut Konut |
| Hedef Hedef Hedef Hedef Hedef | Yüksek (92+) | Çok düşük (blok) | Yüksek (96+) | Konut Konut Konut Konut |
| En İyi Satın Al | Yüksek (31) | Düşük (%-40) | Yüksek (95+) | Konut Konut Konut Konut |
| Etsy | Çok yüksek (96+) | Moderate (50-70%) | Çok yüksek (% 98+) | Konut Konut Konut Konut |
Alt satır: Konut temsilcileri e-ticaret hurdası için varsayılan seçimdir. Datacenter proxy sadece gelişmiş bot koruması olmadan küçük SWIFT mağazalarına güvenle çalışır. Mobil proxylar en yüksek başarı oranları sunar, ancak daha yüksek bir bant maliyetinde - onları en güçlü anti-bot savunmalarıyla yüksek değerli hedefler için rezerve edin.
Binbaşı Platformlar: Proxy Strategies
Amazon Amazon Amazon
Amazon en hurda e-ticaret sitesidir ve bu nedenle en çok savunulmaktadır. Anti-bot sistemi IP itibarı, istek kalıpları, TLS parmak izi ve davranışsal sinyalleri aynı anda analiz eder.
Amazon için Proxy stratejisi:
- Geri dönen konut proxylerini kullanın - ürün sayfaları için talep için yeni IP, arama sonuçları ve inceleme sayfaları.
- Amazon domaini (Jameszon.com için ABD IP'ler, Amazon için DE IPs, amazon.de, JP IPs for amazon.co.jp).
- Limit koncurrency to 5-10 paralel talep per geo-region to avoid triggering cluster- level detect.
- Aynı seanstan gelen istekler arasında 2-5 ikinci rastgele gecikme ekleyin.
- Rotate User-Agent dizeleri 20+ son tarayıcı versiyonlarından bir havuzdan.
Shopify Stores
4 milyondan fazla online mağazanın üzerinde SWIFT güçleri. Bireysel mağazalar bot korumasında değişirken, Shopify'ın platformu düzeyinde korumaları oranı sınırlama ve Cloudflare entegrasyonu içerir.
Rolex için Proxy stratejisi:
- Birçok Azure mağazası bir araya getiriyor
/products.jsonYapı olmadan yapısal ürün verilerini geri dönen son nokta – bunu ilk deneyin. - JSON uç noktası olmadan mağazalar için, orta rotasyonla dönen konut temsilcileri (her 3-5 istekte yeni IP) yeterlidir.
- Rolex'in oranı sınırı genellikle IP başına 2 istek / saniyedir - erişim sağlamak için buna saygı.
- Binlerce Rolex mağazasını kazırken, veri merkezi proxy'leri korumasız mağazalarda, tasarruf bant maliyetleri için çalışabilir. O blok dükkanlar için eve geri dönün.
Walmart
Walmart, mevcut en sofistike bot algılama platformlarından biri olan HUMAN Security (formerly PerimeterX) kullanıyor. Veri merkezi IP'lerle basit HTTP talepleri hemen bloke edilir.
Walmart için Proxy stratejisi:
- Konut proxyleri zorunludur - Merkezi veri IP'lerin yakın-zero başarı oranları vardır.
- Bir kafasız tarayıcıyı kullanın (Puppeteer/Playwright) Walmart büyük ölçüde JavaScript meydan doğrulamasına dayanıyor.
- Çok sayfalı ürün listelerini veya arama paginasyonunu yaparken yapışkan seanslar (5-10 dakika süresi) uygular.
- Walmart'ın API uç noktaları (
walmart.com/api/rotalar) bazen verilen sayfalardan daha hafif koruma vardır - her ikisi ile deney.
Uygulama Kılavuzu: Python
İşte Python'u kullanarak bir üretim hazır e-ticaret, Python ile birlikte ProxyHat's Python SDKPython'da kullanım için temel bir kılavuz için, bakınız Python'da Proxies Kullanımı.
Temel Ürün Rotaryer'i Rotating Proxies ile
import requests
from bs4 import BeautifulSoup
import random
import time
# ProxyHat proxy configuration
PROXY_USER = "USERNAME"
PROXY_PASS = "PASSWORD"
PROXY_HOST = "gate.proxyhat.com"
PROXY_PORT = 8080
USER_AGENTS = [
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/131.0.0.0 Safari/537.36",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 Chrome/131.0.0.0 Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0",
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 Chrome/131.0.0.0 Safari/537.36",
]
def get_proxy(country="US"):
"""Build ProxyHat proxy URL with geo-targeting."""
proxy_url = f"http://{PROXY_USER}-country-{country}:{PROXY_PASS}@{PROXY_HOST}:{PROXY_PORT}"
return {"http": proxy_url, "https": proxy_url}
def scrape_product(url, country="US", retries=3):
"""Scrape a product page with automatic retry and IP rotation."""
for attempt in range(retries):
try:
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",
}
response = requests.get(
url,
proxies=get_proxy(country),
headers=headers,
timeout=30,
)
if response.status_code == 200:
return parse_product(response.text)
elif response.status_code == 503:
print(f"Blocked on attempt {attempt + 1}, rotating IP...")
time.sleep(random.uniform(2, 5))
except requests.exceptions.RequestException as e:
print(f"Request error: {e}")
time.sleep(random.uniform(1, 3))
return None
def parse_product(html):
"""Extract product data from HTML."""
soup = BeautifulSoup(html, "html.parser")
return {
"title": soup.select_one("h1#productTitle, h1[data-automation-id='productTitle']"),
"price": soup.select_one(".a-price .a-offscreen, [data-testid='price']"),
"rating": soup.select_one(".a-icon-star-small .a-icon-alt, .rating-number"),
"availability": soup.select_one("#availability span, .prod-fulfillment-messaging"),
}
# Scrape products from multiple regions
products_to_monitor = [
"https://www.amazon.com/dp/B0EXAMPLE1",
"https://www.amazon.com/dp/B0EXAMPLE2",
]
for url in products_to_monitor:
for country in ["US", "GB", "DE"]:
result = scrape_product(url, country=country)
if result:
print(f"[{country}] {result}")
time.sleep(random.uniform(2, 5))
Shopify Store JSON API'sini kullanarak avlayıcı
import requests
import json
PROXY_URL = "http://USERNAME:PASSWORD@gate.proxyhat.com:8080"
PROXIES = {"http": PROXY_URL, "https": PROXY_URL}
def scrape_shopify_store(store_url):
"""Scrape all products from a Shopify store via JSON API."""
products = []
page = 1
while True:
url = f"{store_url}/products.json?page={page}&limit=250"
response = requests.get(url, proxies=PROXIES, timeout=20)
if response.status_code != 200:
break
data = response.json()
batch = data.get("products", [])
if not batch:
break
for product in batch:
products.append({
"title": product["title"],
"handle": product["handle"],
"vendor": product["vendor"],
"product_type": product["product_type"],
"variants": [
{
"sku": v.get("sku"),
"price": v["price"],
"compare_at_price": v.get("compare_at_price"),
"available": v["available"],
}
for v in product["variants"]
],
})
page += 1
return products
# Usage
store_data = scrape_shopify_store("https://example-store.myshopify.com")
print(f"Found {len(store_data)} products")
Uygulama Kılavuzu: Node.js
JavaScript tabanlı olmayan tarayıcılarla kazınması için - Walmart ve diğer ağır koruma siteleri için gerekli - bizi gör Node.js proxy rehberi Temel kurulum için. Aşağıda, kullanarak e-ticarete özgü bir uygulama ProxyHat's Node SDK.
Headless Browser Puppeteer ile avlanıyor
const puppeteer = require("puppeteer");
const PROXY_HOST = "gate.proxyhat.com";
const PROXY_PORT = 8080;
const PROXY_USER = "USERNAME";
const PROXY_PASS = "PASSWORD";
async function scrapeProductPage(url, country = "US") {
const proxyUser = `${PROXY_USER}-country-${country}`;
const browser = await puppeteer.launch({
headless: "new",
args: [`--proxy-server=http://${PROXY_HOST}:${PROXY_PORT}`],
});
const page = await browser.newPage();
await page.authenticate({ username: proxyUser, password: PROXY_PASS });
// Set realistic viewport and user agent
await page.setViewport({ width: 1920, height: 1080 });
await page.setUserAgent(
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/131.0.0.0 Safari/537.36"
);
try {
await page.goto(url, { waitUntil: "networkidle2", timeout: 45000 });
// Wait for price element to load
await page.waitForSelector('[data-testid="price"], .a-price', {
timeout: 10000,
});
const product = await page.evaluate(() => {
const getText = (selector) =>
document.querySelector(selector)?.textContent?.trim() || null;
return {
title: getText("h1"),
price: getText('[data-testid="price"], .a-price .a-offscreen'),
rating: getText(".rating-number, .a-icon-star-small .a-icon-alt"),
reviewCount: getText("#acrCustomerReviewCount, .rating-count"),
availability: getText("#availability span, .prod-fulfillment-messaging"),
seller: getText("#sellerProfileTriggerId, .seller-name"),
};
});
return product;
} catch (error) {
console.error(`Scraping failed for ${url}:`, error.message);
return null;
} finally {
await browser.close();
}
}
// Monitor prices across regions
async function monitorPrices(asinList, countries) {
const results = [];
for (const asin of asinList) {
for (const country of countries) {
const domain = { US: "amazon.com", GB: "amazon.co.uk", DE: "amazon.de" }[country];
const url = `https://www.${domain}/dp/${asin}`;
const data = await scrapeProductPage(url, country);
if (data) {
results.push({ asin, country, ...data, scrapedAt: new Date().toISOString() });
}
// Random delay between requests
await new Promise((r) => setTimeout(r, 2000 + Math.random() * 3000));
}
}
return results;
}
// Usage
monitorPrices(["B0EXAMPLE1", "B0EXAMPLE2"], ["US", "GB", "DE"]).then((data) =>
console.log(JSON.stringify(data, null, 2))
);
Geo-Targeted Price İzleme
Bölgelerdeki fiyat varyasyonu, e-ticaret istihbaratındaki en değerli veri setlerinden biridir. Aynı ürün ülkeler arasında% 20-40 fiyat farkı olabilir - ve aynı ülkedeki şehirler arasında bile. ProxyHat'ın geo-targeting Doğru bölgesel fiyat izleme için kritik olan ülke ve şehir seviyesindeki routing'i destekler.
Fiyat İzleme için Geo-Targeting Works
Belirli bir yerde bir proxy aracılığıyla bir istek yaptığınızda, e-ticaret platformu ziyaretçinin yerini IP adresi aracılığıyla algılar. Bu konum özel davranışı tetikler:
- Para ve fiyat: Platform, bölgeye özgü fiyatlarla yerel para biriminde fiyatları gösterir.
- Ürün kullanılabilirliği: İnventory ve nakliye seçenekleri bölge tarafından farklıdır. Bazı ürünler sadece belirli pazarlarda mevcuttur.
- Promosyonlar: Bölgesel satış olayları, tatil indirimleri ve sadakat programları ülke tarafından değişir.
- Vergi gösterisi: Bazı bölgeler önceden belirlenmiş fiyatlar gösteriyor, diğerleri vergi dahil fiyatları gösteriyor.
# Monitor the same product across 5 markets
import requests
PROXY_BASE = "USERNAME-country-{country}:PASSWORD@gate.proxyhat.com:8080"
markets = {
"US": {"domain": "amazon.com", "currency": "USD"},
"GB": {"domain": "amazon.co.uk", "currency": "GBP"},
"DE": {"domain": "amazon.de", "currency": "EUR"},
"JP": {"domain": "amazon.co.jp", "currency": "JPY"},
"CA": {"domain": "amazon.ca", "currency": "CAD"},
}
def monitor_price(asin, country, market_info):
proxy = f"http://{PROXY_BASE.format(country=country)}"
url = f"https://www.{market_info['domain']}/dp/{asin}"
response = requests.get(
url,
proxies={"http": proxy, "https": proxy},
headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/131.0.0.0"},
timeout=30,
)
# Parse price from response...
return {"country": country, "currency": market_info["currency"], "url": url}
Real-Time vs Batch Fiyat İzleme
E-ticaret fiyatı izleme, her biri farklı proxy gereksinimlerine düşer.
| Aspect | Gerçek Zaman İzleme | Batch Watch |
|---|---|---|
| Güncelleme frekansı | Her 5-15 dakika | günde 1-4 kez |
| Use case | Dinamik repricing, flaş satış takip | Tarihsel analiz, trend raporları |
| Proxy Lines | Yüksek (kontinuous requests) | Moderate (koncented patlamalar) |
| Concurrency'in ihtiyaçları | 50-200 paralel istek | 10-50 paralel istek |
| En İyi En İyi Tür proxy | Oturma yeri | Oturma yeri |
| IP havuz büyüklüğü gerekli | Büyük (10.000+ IP) | Moderate (1.000+ IPs) |
| Tahmin edilen maliyet (10K ürünleri) | 200-500 / ay | 50-150 / ay |
Gerçek zamanlı izleme Birkaç dakika içinde rakip fiyat değişikliklerine cevap vermek zorunda olan bir repricing motoru çalıştırdığınızda gereklidir. Bu mimari, ürün listenizdeki sürekli döngüyü sürekli olarak kazıyan işçiler gerektirir, geri dönen konut proxylerini sürekli yük altında yüksek başarı oranları korumak için kullanır.
Batch izleme Çoğu kullanım durumu: günlük fiyat raporları, haftalık rekabetçi analiz ve trend takip. Planlanan bir iş günde 2-4 kez çalışır, eş zamanlı isteklerin patlamasını kullanarak tüm ürün katalogunu kazır, bir veritabanında izler ve bir sonraki çalıştıra kadar kapatılır. Bu yaklaşım önemli ölçüde daha az proxy bant genişliği kullanır.
Öneri: Parti izleme ile başlayın. Çoğu fiyat kararları dakika seviyesindeki granularity gerektirmez. İlk kazı işlerinizi günlük 2-3 kez çalıştırın. Gerçek zamanlı izleme sadece rakiplerin fiyatları sık sık değiştiği ürün kategorileri için hareket edin (elektronik, uçuşlar, trendler).
Common E-Ticaret Anti-Bot Measures
Konut referansları ile bile, e-ticaret anti-bot sistemleri otomatik desenleri tespit edebilir. İşte başarı oranlarının arttırılması için kanıtlanmış teknikler, stratejilerimiz üzerine inşa etmek bloke edilmeden kazımak için kılavuz.
CAPTCHA
Amazon ve Walmart, otomatik aktiviteden şüphelendikleri zaman CAPTCHAs sunmaktadır. En iyi yaklaşım önlemedir:
- Rotate IPs agresif bir şekilde - her istek için yeni bir IP, bir CAPTCHA'yı tetiklemek için herhangi bir IP üzerinde yeterli sinyal üretme şansı azaltır.
- Gerçek bir tarayıcının başlığı ve değerleri tam olarak eşleşen gerçekçi istek başlıkları kullanın.
- Oturum boyunca aynı tarayıcı sürümünü kullanarak tutarlı TLS parmaklarını koruyun.
- CAPTCHAs hala görünüyorsa, üst üste geri uygulayın: IP'yi 5 dakika boyunca durdurun, sonra 15 dakika sonra 1 saat.
Request Parmak Randomization
import random
def generate_headers():
"""Generate realistic, randomized request headers."""
chrome_versions = ["130.0.0.0", "131.0.0.0", "132.0.0.0"]
platforms = [
("Windows NT 10.0; Win64; x64", "Windows"),
("Macintosh; Intel Mac OS X 10_15_7", "macOS"),
("X11; Linux x86_64", "Linux"),
]
platform, platform_name = random.choice(platforms)
chrome_ver = random.choice(chrome_versions)
return {
"User-Agent": f"Mozilla/5.0 ({platform}) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/{chrome_ver} Safari/537.36",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
"Accept-Language": random.choice([
"en-US,en;q=0.9",
"en-US,en;q=0.9,es;q=0.8",
"en-GB,en;q=0.9",
]),
"Accept-Encoding": "gzip, deflate, br",
"Cache-Control": random.choice(["no-cache", "max-age=0"]),
"Sec-Ch-Ua-Platform": f'"{platform_name}"',
"Sec-Fetch-Dest": "document",
"Sec-Fetch-Mode": "navigate",
"Sec-Fetch-Site": "none",
"Upgrade-Insecure-Requests": "1",
}
Smart Retry with IP Rotation
import time
import random
def scrape_with_smart_retry(url, max_retries=5, country="US"):
"""Scrape with exponential backoff and automatic IP rotation."""
base_delay = 2
for attempt in range(max_retries):
proxy = get_proxy(country) # New IP each attempt
headers = generate_headers()
try:
response = requests.get(url, proxies=proxy, headers=headers, timeout=30)
if response.status_code == 200:
return response.text
elif response.status_code == 403:
print(f"Attempt {attempt + 1}: Forbidden (IP likely flagged)")
elif response.status_code == 429:
print(f"Attempt {attempt + 1}: Rate limited")
elif response.status_code == 503:
print(f"Attempt {attempt + 1}: Service unavailable (CAPTCHA)")
except requests.exceptions.Timeout:
print(f"Attempt {attempt + 1}: Timeout")
except requests.exceptions.ConnectionError:
print(f"Attempt {attempt + 1}: Connection error")
# Exponential backoff with jitter
delay = base_delay * (2 ** attempt) + random.uniform(0, 1)
print(f"Waiting {delay:.1f}s before retry...")
time.sleep(delay)
return None
Scaling E-Ticaret Gemisi
Milyonlarca listelemeyi izlemek için birkaç yüz ürün çıkarmak, maliyet, güvenilirlik ve veri tazeliğini etkileyen mimari kararlar gerektirir.
Scale için Mimari
| Scale Scale | Ürünler | Mimari Mimari Mimari | Proxy Band Wide |
|---|---|---|---|
| Küçük Küçük Küçük Küçük Küçük | 1-10K | Single script, cron planlandı | 5-20 GB / ay |
| Medium Medium Medium Medium Medium | 10K-100K | Queue işçileri (Redis/AdamMQ) | 50-200 GB / ay |
| Büyük Büyük Büyük Büyük Büyük | 100K-1M+ | Dağıtılmış işçiler, Kubernetes | 500 GB-5 TB / ay |
Queue-Based Lavabo
Büyük ölçekli operasyonlar için, kuyruk tabanlı bir mimari güvenilirlik ve ölçeklenebilirlik sağlar:
# Producer: enqueue scraping jobs
import redis
import json
r = redis.Redis()
def enqueue_products(product_urls, priority="normal"):
queue_name = f"scrape:{priority}"
for url in product_urls:
job = json.dumps({"url": url, "retries": 0, "created_at": time.time()})
r.lpush(queue_name, job)
# Consumer: process scraping jobs
def worker(country="US"):
while True:
# Priority queue: check high-priority first
job_data = r.rpop("scrape:high") or r.rpop("scrape:normal")
if not job_data:
time.sleep(1)
continue
job = json.loads(job_data)
result = scrape_with_smart_retry(job["url"], country=country)
if result:
# Store result in database
r.lpush("results:pending", json.dumps({
"url": job["url"],
"data": result,
"scraped_at": time.time(),
}))
elif job["retries"] < 3:
# Re-queue failed jobs
job["retries"] += 1
r.lpush("scrape:normal", json.dumps(job))
Band Wide Optimizasyon
E-ticaret sayfaları ağırdır - 500 KB ile 2 MB her biri görüntüler ve senaryolar ile. Ölçekte, bant genişliği hakimdir. Takip Et:
- Gereksiz kaynakları engellemek: Başsız tarayıcılarda, resimler, fontlar, CSS ve senaryoları takip edin. Ürün verileri HTML ve API çağrılarındadır.
- Mevcut olduğunda API uç noktaları kullanın: Shopify'ss
/products.jsonAmazon'un Ürün Reklam API'si yetkili satıcılar için ve Walmart'ın iştirak API'si, bant genişliğinin bir kısmında yapılandırıldı. - Caching değişmemiş ürünler: Sadece fiyatların muhtemelen değişmiş olması muhtemel olan re-scrape ürünleri. Sık sık kullanılan listeleri önceliklendirmek için tarihsel kalıpları kullanın.
- Depolama verileri: Mağaza ham HTML sadece debugging için gerektiğinde. Derleme ve mağaza yapısı hemen yapılandırıldı.
Yasal ve Etik Bakışlar
E-ticaret verileri, gelişmeye devam eden yasal bir çerçevede çalışır. Sınırları anlamak sürdürülebilir bir kazı operasyonu oluşturmak için önemlidir.
Genel olarak kabul edilen nedir
- Public data collection: Açık olarak görünür ürün bilgilerini (fuslar, başlıklar, kullanılabilirlik) avlamak, kararlarla desteklenen hiQ Labs v. LinkedIn ABD'de.
- Rekabetçi zeka: Fiyat stratejisi, piyasa analizi ve iş zekası için yedeklenmiş veriler kullanmak endüstriler genelinde standart bir uygulamadır.
- MAP izleme: Markalar kendi ürünlerini yetkili ve izinsiz bayiler arasındaki ilan edilen fiyatları izlemek iyi kurulmuş bir meşru kullanım durumudur.
En İyi Uygulamaları
- Saygı robotlar.txt sinyalleri: Yasal olarak bağlayıcı olmasa da, tarama yönlendirme yönergeleri iyi bir inanç gösterir.
- Kişisel verileri kazımaktan kaçının: Uygulamalı veri koruma düzenlemeleri altında yasal bir temel olmadan inceleme isimleri, e-postalar veya diğer kişisel bilgileri toplama.
- Hesaplama limiti sorumlu olarak: Site performansını etkileyebilecek bir oranda istek göndermeden kaçının. Proxy rotasyonu yüklemeyi dağıtmalı, onu çoğaltmamalıdır.
- İletişim kontrollerini engellemeyin: Kamu ürün sayfalarını boşaltmak, giriş duvarlarını atlamak veya sınırlı satıcı panolarına erişmekten farklıdır.
- Sadece ihtiyacınız olan şey Mağaza: Kullanımınız için gerekli olan belirli veri puanlarını toplayın. Tüm site arşivlerini indirmekten kaçının.
E-Ticaret Gemisi için ProxyHat ile başlayın
ProxyHat, güvenilir e-ticaret veri toplama için gerekli olan proxy altyapısı sunar. İşte nasıl başlayacağı:
- Planınızı seçin: Review ProxyHat pricing ve ürün izleme hacminizi karşılayan bir trafik tahsisini seçin. Referans için, günlük 3 bölgede günde 10.000 ürün izlemek ayda yaklaşık 10-30 GB kullanır.
- geo-targeting yapılandırın: Hedef pazarlarınızda IP'ler aracılığıyla yol talep etmek için proxy kullanıcı adınızda ülke veya şehir düzeyinde hedefleme kullanın.
- Çöpünüzle bütünleştirin: Kullanın Python SDK, Node.js SDKYa da Go SDK Kolay entegrasyon için. Görmemize bakın Belge belgeleri Gelişmiş konfigürasyon için.
- Parti izleme ile başlayın: Ana ürün listesiniz için günlük bir kazı işi oluşturun, veri kalitesini doğrulayın, sonra kapsama ve frekansı genişletin.
- İhtiyacınız olduğu gibi ölçek: ProxyHat'ın konut proxy havuz ölçekleri ihtiyaçlarınızla - proxy yapılandırmanızı değiştirmeden 1.000 ila 1.000.000+ üründen.
Daha fazla kazı teknikleri ve proxy stratejileri için, keşfedin Web scraping use case guide ve Web için en iyi referanslar Karşılaştırma.
Sık Sorulan Sorular
Amazon'u kazımak için en iyi proxy nedir?
Konut temsilcilerinin taşınması Amazon için en iyi seçimdir. Amazon'un anti-bot sistemi, veri merkezi IP aralıklarının geniş veritabanılarını koruyor ve onları agresif bir şekilde bloklar. Konut temsilcileri Amazon'un itibar kontrollerini geçen gerçek ISS-assigned IPs kullanır. En iyi sonuçlar için, geo-targeted konut proxylarını Amazon domaini kopyaladığınız (US IPs for amazon.com, German IPs for amazon.de) ve IPs her istekte döndürür.
E-ticaret fiyat izleme için ne kadar bant genişliğine ihtiyacım var?
Band Wide, ürünlerin sayısına, frekansları kazınıza ve HTTP isteklerini veya farsız tarayıcıları kullanmanıza bağlıdır. Tipik bir ürün sayfası HTTP veya 1-2 MB aracılığıyla 100-500 KB'dir. HTTP aracılığıyla günlük 10.000 ürün izleyin ayda yaklaşık 2-5 GB gerektirir. Aynı katalog kafasız tarayıcılarla kazındı 10-20 GB. Günlük kazıların sayısı ve takip ettiğiniz bölgesel varyasyonlar tarafından çok fazla.
Referanssız e-ticaret siteleri koyabilir miyim?
Herhangi bir anlamlı boyutta değil. Kaynaklar olmadan, tek IP adresiniz büyük platformlarda dakikalar içinde hızlanmış veya bloke edilecektir. Amazon genellikle 50-100 istekten sonra tek bir IP taşır. Birkaç yüz ürünü kapsayan küçük izleme görevleri bile kesintilerden kaçınmak için IP rotasyonunu gerektirir. Proxies, e-ticaret hurdalığı için opsiyonel değildir - temel bir altyapı gereksinimidir.
Rakip web sitelerinden ürün fiyatları çıkarmak yasal mı?
Açık olarak mevcut ürün bilgileri – fiyatlar, başlıklar, açıklamalar, kullanılabilirlik – genellikle rekabetçi zeka amaçları için yasal olarak kabul edilir. ABD mahkemeleri, davalarda halka açık verileri dökme hakkını desteklediler hiQ Labs v. LinkedInBununla birlikte, kişisel verileri yok etmekten kaçınmalısınız, saygı oranı sınırları ve giriş duvarları gibi teknik erişim kontrollerini atmaktan kaçınmalısınız. Her zaman özel yargınız için yasal danışmana danış ve davayı kullanın.
E-ticaret sitelerini kazırken CAPTCH’yi nasıl idare edebilirim?
En iyi CAPTCHA stratejisi önlemedir. Tanımlamayı tetiklemek için herhangi bir IP üzerinde yeterince sinyalleri engellemek için geri dönen konut proxylerini kullanın. Gerçek tarayıcı başlıkları doğru üst düzey emirlerle gönderin. İstekler arasında rastgele gecikmeler ekleyin (2-5 saniye). CAPTCHAs hala ortaya çıkarsa, üst üste üst üste uygulayın - artan aralıklar için bayraklı IP'yi durdurun. ProxyHat'ın büyük konut IP havuzu ve per-request rotasyonu ile, çoğu hurda, büyük e-ticaret platformlarında 90-95 CAPTCHA-free başarı oranları elde edebilir.






