Bloga geri dön

Walmart Veri Çekimi: Proxy Seçimi ve Engellenmeden Veri Toplama Nasıl Yapılır

Walmart, PerimeterX'in güçlü bot korumasını kullanıyor. Hangi proxy'lerin veri çekimi için çalıştığını, döngüyü nasıl ayarlayacağınızı ve fiyat ve stok toplarken engellerden nasıl kaçınacağınızı inceliyoruz.

📅24 Ocak 2026
```html

Walmart, Amazon'dan sonra ABD'deki en büyük çevrimiçi mağaza ve verileri e-ticaret işiniz için kritik öneme sahip: rakip fiyat izleme, stok takibi, ürün analizi. Sorun şu ki, Walmart, botlara karşı en gelişmiş sistemlerden biri olan PerimeterX'i kullanıyor ve bu sistem, parselleyicilerden gelen isteklerin %90'ını ilk sayfada engelliyor.

Bu kılavuzda, Walmart'ı parsellemek için hangi proxy türlerinin gerçekten çalıştığını, IP adreslerinin döngüsünü nasıl ayarlayacağınızı, tarayıcı parmak izini nasıl aşacağınızı ve bir saatlik çalışma süresinde çökmeden veri toplama için kararlı bir sistem kurmayı inceleyeceğiz.

Neden Walmart parselleyicileri engelliyor: PerimeterX koruma mekanizmaları

Walmart, PerimeterX koruma sistemini (şimdi HUMAN Security olarak adlandırılıyor) kullanıyor — piyasadaki en agresif anti-bot sistemlerinden biri. Her isteği onlarca parametreye göre analiz eder ve şüpheli trafiği, parselleyiciniz HTML sayfa kodunu almadan önce engeller.

Walmart'ın koruma mekanizmaları:

1. IP itibar analizi

PerimeterX, her IP adresini bilinen proxy sunucuları, veri merkezleri ve VPN'ler veritabanında kontrol eder. Eğer IP'niz bu veritabanında varsa — engellenirsiniz veya CAPTCHA ile karşılaşırsınız. Walmart, özellikle popüler bulut sağlayıcılarından (AWS, Google Cloud, DigitalOcean) gelen IP'leri sert bir şekilde filtreler.

2. Davranış analizi

Sistem, kullanıcının sayfayla nasıl etkileşimde bulunduğunu izler: fare hareketleri, kaydırma hızı, tıklamalar. Selenium veya Puppeteer üzerinde çalışan parselleyiciler genellikle burada tespit edilir — sayfaları çok hızlı açarlar, doğal duraklamalar olmadan, fareyi hareket ettirmeden.

3. TLS ve HTTP parmak izi

PerimeterX, bağlantınızın TLS parmak izini (şifreleme sırası, uzantılar) ve HTTP istek başlıklarını analiz eder. Python'un standart kütüphaneleri (requests, urllib) benzersiz parmak izlerine sahiptir ve kolayca tanınır. User-Agent'ı değiştirmiş olsanız bile, sistem başlıklar ile gerçek tarayıcı arasındaki uyumsuzluğu görür.

4. JavaScript zorlukları

Şüpheli bir istekte PerimeterX, tarayıcıda kontroller gerçekleştiren JavaScript kodu gönderir: Canvas API erişilebilirliği, WebGL, ekran parametreleri, yüklü fontlar. Basit HTTP parselleyiciler (tarayıcı motoru olmadan) bu kontrolleri geçemez ve engellenir.

Engellendiğinde neler olur:

  • HTTP 403 Forbidden — en sık karşılaşılan yanıt, IP'nizin veya parmak izinizin kara listede olduğunu gösterir
  • CAPTCHA ile bir sayfaya yönlendirme — sistem emin değil, insan olduğunuzu kanıtlama şansı veriyor
  • Boş bir sayfa veya hata ile JSON — sunucu hiç içerik sağlamıyor
  • 15-60 dakika boyunca IP'nin geçici olarak yasaklanması — tek bir adresten agresif parselleme sırasında

Anahtar sonuç: Walmart'ı başarılı bir şekilde parsellemek için kapsamlı bir stratejiye ihtiyacınız var, burada proxy sadece bir unsurdur. Ayrıca doğru bir tarayıcı motoruna, insan davranışını taklit etmeye ve IP adreslerinin akıllıca döngüsüne ihtiyacınız olacak.

Walmart'ı parsellemek için hangi proxylere ihtiyaç var: türlerin karşılaştırması

Tüm proxylere Walmart'ın korumasını aşmak için eşit derecede etkili değildir. Dört ana türü ve parselleme görevine uygunluklarını inceleyelim.

Proxy Türü Walmart için Etkililik Hız Maliyet Öneri
Konut Proxylere ⭐⭐⭐⭐⭐
Harika — Gerçek kullanıcıların IP'leri, minimum engellemeler
Orta
(200-800 ms)
Yüksek
($7-15/GB'den)
Üretim için optimal
Mobil Proxylere ⭐⭐⭐⭐⭐
Harika — yüksek güven puanı, nadir engellemeler
Düşük
(500-1500 ms)
Çok yüksek
($50-100/ay IP başına)
Zor durumlar için
Veri Merkezi Proxylere ⭐⭐
Kötü — yüksek engelleme olasılığı (70-90%)
Yüksek
(50-150 ms)
Düşük
($1-3/IP'den)
Önerilmez
ISP Proxylere ⭐⭐⭐⭐
İyi — statik konut IP'leri
Yüksek
(80-200 ms)
Orta
($30-80/ay IP başına)
Uzun vadeli görevler için

Her tür hakkında daha fazla bilgi:

Konut Proxylere — Walmart için altın standart

Bunlar, gerçek ev internet sağlayıcılarının (Comcast, AT&T, Verizon ABD'de) IP adresleridir. Walmart, bunları normal alıcılar olarak görür, bu nedenle engelleme oranı minimumdur — doğru ayarlandığında %5-10 civarındadır. Ana avantajı — büyük adres havuzları (milyonlarca IP), bu da etkili bir döngü ayarlamanızı sağlar.

Ne zaman kullanılmalı: Binlerce ürünün fiyatını izlemek, günlük veri toplama, uzun vadeli projeler için. Walmart'ı parsellemek için konut proxylere en iyi seçimdir, etkinlik ve maliyet açısından optimaldir.

Mobil Proxylere — maksimum güvenilirlik

Mobil operatörlerin IP'leri (T-Mobile, Verizon Wireless) anti-bot sistemlerinde en yüksek güven puanına sahiptir. Sebep — bir IP, binlerce gerçek kullanıcı tarafından (operatör NAT'ı aracılığıyla) kullanılır, bu nedenle onu engellemek = binlerce alıcıyı engellemek demektir. Walmart, mobil IP'leri neredeyse hiç engellemez.

Ne zaman kullanılmalı: Eğer konut proxylere yeterli gelmiyorsa, özellikle korumalı bölümleri parsellemek gerekiyorsa (örneğin, belirli bölgeler için fiyatlar) veya bütçe izin veriyorsa. Mobil proxylere neredeyse %100 başarılı istek sağlar, ancak maliyetleri daha yüksektir.

Veri Merkezi Proxylere — Walmart için uygun değil

Veri merkezlerindeki sunucuların IP adresleri (AWS, OVH, Hetzner) PerimeterX tarafından anında tanınır. Eğer "temiz" IP'ler satın alsanız bile, daha önce parselleme için kullanılmamış olsalar bile, sistem yine de bunun bir veri merkezi olduğunu görür, ev sağlayıcısı değil. Engelleme oranı %70-90'dır.

Tek kullanım senaryosu: Küçük veri hacminde (10-50 sayfa) parselleyici test etmek. Üretim için kesinlikle uygun değildir.

ISP proxylere (statik konut) bir hibrittir: Ev sağlayıcılarının IP'leri, ancak veri merkezlerinde barındırılır ve size uzun süre (bir ay ve daha fazla) verilir. Normal konut proxylere göre daha hızlıdırlar, ancak daha pahalıdırlar ve sınırlı bir adres havuzuna sahiptirler. Aynı ürün kategorileri için uzun vadeli parselleme için stabil IP'lere ihtiyacınız varsa uygundur.

Konut vs veri merkezi proxylere: Görevleriniz için neyi seçmelisiniz

Zaten konut proxylere daha etkili olduğunu öğrendiğimiz için, her türün ne zaman mantıklı olabileceğini detaylı bir şekilde inceleyelim ve gerçek sahiplik maliyetini hesaplayalım.

Senaryo 1: Günlük 10,000 ürün izleme

Konut proxylere ile:

  • Walmart ürün sayfasının ortalama boyutu: ~500 KB
  • 10,000 ürün × 500 KB = günde 5 GB trafik
  • Aylık trafik: 150 GB
  • 10$/GB maliyetle: $1,500/ay
  • Başarılı istek oranı: %90-95
  • Tekrarlar dikkate alındığında gerçek maliyet: ~$1,650/ay

Veri merkezi proxylere ile (teorik olarak):

  • 100 IP maliyeti: ~$200/ay
  • Başarılı istek oranı: %10-30 (geri kalan engellemeler)
  • Her ürün için 3-10 deneme yapmanız gerekecek
  • Gerçek trafik: 15-50 GB (tekrarlardan dolayı)
  • Sonuç: Görev gerçekleştirilemez — IP hızla yasaklanır, her adımda CAPTCHA ile karşılaşılır

Senaryo 2: 500 ürün için tek seferlik veri toplama

Eğer bir kez piyasa analizi veya araştırma için veri toplamanız gerekiyorsa, kombinasyon yaklaşımını deneyebilirsiniz:

  • Ürün URL'lerini (kategori sayfaları) ilk toplama için veri merkezi proxylere kullanın
  • Ürünler hakkında detaylı bilgi almak için konut proxylere geçin
  • Maliyet: ~$50-100 tek seferlik görev için
  • Tamamlanma süresi: 2-4 saat, veri merkezleri ile 10-20 saat yerine

Anahtar seçim faktörleri:

Kriter Konut Veri Merkezleri
Veri Hacmi Herhangi — 100'den milyonlarca sayfaya kadar Sadece küçük hacimler (1000 sayfaya kadar)
Düzenlilik Günlük/haftalık parselleme Sadece tek seferlik görevler
Tamamlanma Hızı Stabil — tekrarlar için gecikme yok Tahmin edilemez — çok fazla tekrar var
Güvenilirlik Yüksek — %90-95 başarı Düşük — %10-30 başarı
Hata Maliyeti Düşük — sadece başarılı trafik için ödeme yaparsınız Yüksek — yasaklar için zaman ve para kaybedersiniz

Sonuç: Walmart'ı parsellemek için ciddi görevler için konut veya mobil proxylere kullanın. Veri merkezi proxylere sadece 10-50 sayfa üzerinde parselleyici mantığını test etmek için düşünülebilir, ancak üretim için kesinlikle uygun değildir. Proxylerde tasarruf etmek, zaman kaybına, sinir harbini ve sonunda daha pahalıya mal olacaktır.

IP döngü stratejileri: değişim sıklığı ve adres havuzları

Konut proxylere ile bile, IP adreslerinin döngüsünü yanlış ayarlarsanız engellenebilirsiniz. PerimeterX, davranış kalıplarını izler: Eğer bir IP, bir dakikada 100 ürün sayfası talep ederse — bu kesinlikle bir bottur. Doğru döngü stratejisi, engellemeler olmadan stabil parselleme için anahtardır.

Üç ana döngü stratejisi:

1. Her istekte döngü (Rotating Proxies)

Her HTTP isteği yeni bir IP adresi üzerinden gider. Bu, çoğu konut proxy sağlayıcısının standart çalışma modudur.

Artıları:

  • Engelleme riski minimumdur — her IP 1-2 istek yapar
  • Kolay ayar — sağlayıcı havuzu kendisi yönetir
  • Agresif parselleme yapılabilir — dakikada yüzlerce istek

Eksileri:

  • Oturum sorunları — eğer site çerez kullanıyorsa, her istek = yeni bir oturum
  • Daha yavaş — yeni bir bağlantı kurmak 200-500 ms alır

Ne zaman kullanılmalı: Walmart ürün sayfalarını parsellemek için, kimlik doğrulama ve oturum gerektirmeyen durumlarda. Bu, fiyat izleme görevlerinin çoğu için optimal stratejidir.

2. Sticky Sessions (yapışkan oturumlar)

Bir IP adresi, belirli bir süre (genellikle 5-30 dakika) boyunca bir dizi istek için kullanılır, ardından yeni bir IP'ye geçilir.

Artıları:

  • Oturumları ve çerezleri koruma — alışveriş sepeti, kimlik doğrulama ile çalışabilirsiniz
  • Daha hızlı — TCP bağlantısı tekrar kullanılır
  • Anti-bot sistemleri için daha "doğal" bir davranış

Eksileri:

  • Engelleme riski daha yüksek — bir IP 10-50 istek yapar
  • Limitleri kontrol etmeniz gerekir — bir IP'den 30-50 isteği geçmemelisiniz

Ne zaman kullanılmalı: Kimlik doğrulama gerektiren verileri parsellemek (örneğin, kayıtlı kullanıcılar için fiyatlar) veya gerçek bir alıcının davranışını taklit ediyorsanız (kategori görüntüleme → ürün → sepete ekleme) kullanmalısınız.

3. Manuel döngü ile statik IP havuzu

50-100 statik konut IP'si (ISP proxylere) alırsınız ve isteklerin dağıtımını kendiniz yönetirsiniz.

Artıları:

  • Tam kontrol — hangi IP'nin ne kadar istek yaptığını bilirsiniz
  • Maksimum hız — statik IP'ler döngüsel olanlardan daha hızlıdır
  • IP'leri "ısıtmak" — itibarlarını artırmak için meşru istekler yapabilirsiniz

Eksileri:

  • Zor ayar — istek dağıtım mantığını yazmanız gerekir
  • Daha pahalı — ISP proxylere ayda $30-80'dir
  • IP kaybetme riski — eğer biri yasaklanırsa, değiştirmek zorunda kalırsınız

Ne zaman kullanılmalı: Günde 100,000+ isteği olan yüksek yük sistemleri için, hız ve stabilitenin kritik olduğu durumlarda. Parselleme konusunda deneyim gerektirir.

Walmart için önerilen ayarlar:

Fiyat izleme için (ürün sayfalarının basit parsellemesi):

  • Tür: Her istekte döngü ile proxylere
  • İstekler arasındaki gecikme: 2-5 saniye
  • Paralellik: 10-20 iş parçacığı
  • Coğrafi konum: ABD (tercihen Walmart mağazalarının bulunduğu eyalet)

Zor parselleme için (kimlik doğrulama, sepet ile):

  • Tür: 10-15 dakika süreli yapışkan oturumlar
  • IP başına istek limiti: maksimum 30-40
  • İstekler arasındaki gecikme: 3-7 saniye (insan taklidi)
  • Paralellik: 5-10 iş parçacığı (daha az agresif)

Önemli: Birçok konut proxy sağlayıcısı, bağlantı parametreleri aracılığıyla oturum süresini ayarlamanıza izin verir. Örneğin, session-15min ekleyerek, 15 dakika süreli yapışkan oturum alırsınız. Bu olasılığı sağlayıcınızla kontrol edin.

Parmak izini aşma: User-Agent, başlıklar ve TLS parmak izleri

Proxylere yalnızca sorunun yarısını çözer — size temiz bir IP sağlar. Ancak PerimeterX, yalnızca IP'yi değil, aynı zamanda tarayıcınızın veya parselleyicinizin "parmak izini" de analiz eder. Konut IP'niz olsa bile, HTTP istemciniz bir bot gibi görünüyorsa engellenirsiniz.

PerimeterX neleri kontrol eder:

1. User-Agent ve HTTP başlıkları

Standart kütüphaneler (Python requests, Node.js axios) başlıkları gönderir, bu da botu anında ele verir. Örneğin, User-Agent: python-requests/2.28.1 — bu %100 engelleme demektir.

Değiştirmeniz gerekenler:

  • User-Agent — güncel Chrome/Firefox sürümlerini kullanın
  • Accept — içerik türüne uygun olmalıdır
  • Accept-Language — Walmart ABD için en-US
  • Accept-Encoding — gzip, deflate, br
  • Referer — önceki sayfa (kategori veya ana sayfa)
  • Sec-Fetch-* — CSRF koruması için Chrome başlıkları

2. TLS Parmak İzi (JA3)

Her HTTP istemcisinin benzersiz bir TLS parmak izi vardır — şifreleme sırası, TLS uzantıları, protokol sürümü. PerimeterX, bu parmak izini User-Agent ile karşılaştırır: Eğer "Chrome 120" yazıyorsanız, ancak TLS parmak izi Python'dan geliyorsa — engellenirsiniz.

Çözüm:

  • Özelleştirilmiş TLS desteği olan kütüphaneleri kullanın: curl-impersonate (Python), tls-client (Go)
  • Ya da gerçek bir tarayıcı kullanarak Selenium/Puppeteer ile — gerçek bir TLS parmak izine sahiptirler

3. JavaScript zorlukları ve Canvas parmak izi

PerimeterX, Canvas API'ye erişim, WebGL, hangi fontların yüklü olduğu, ekran boyutu, zaman dilimi gibi kontrolleri gerçekleştiren JavaScript kodu gönderebilir. Basit HTTP parselleyiciler bu kodu çalıştıramaz.

Çözüm:

  • Headless tarayıcılar kullanın: Puppeteer, Playwright, Selenium
  • Kesinlikle tespit önleme modunu etkinleştirin: puppeteer-extra-plugin-stealth
  • Parametreleri rastgele hale getirin: pencere boyutu, zaman dilimi, tarayıcı dili

Walmart'ı parsellemek için doğru başlıkların örneği:

GET /ip/Product-Name/12345678 HTTP/1.1
Host: www.walmart.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.9
Accept-Encoding: gzip, deflate, br
Referer: https://www.walmart.com/browse/electronics/tv-video/3944_1060825
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Upgrade-Insecure-Requests: 1
Connection: keep-alive

Önemli detaylar:

  • Başlık sırası önemlidir — gerçek tarayıcılar belirli bir sırayla gönderir. Bu sırayı koruyan kütüphaneler kullanın.
  • Çerezler — Eğer PerimeterX çerez _px3 veya _pxvid ayarladıysa, bunu sonraki isteklere göndermeyi unutmayın. Bu, oturumunuzun tokenidir.
  • HTTP/2 — Walmart HTTP/2 kullanıyor ve bu protokolün desteklenmemesi bot sinyali olabilir. İstemcinizin HTTP/2'yi desteklediğinden emin olun.
  • Aynı başlıkları tüm isteklerde kullanmayın — User-Agent'ı çeşitlendirin, 10-20 farklı tarayıcı versiyonundan oluşan bir havuz kullanın.

Rate limiting ve gecikmeler: istek limitlerini aşmamak için nasıl

Mükemmel proxylere ve başlıklara sahip olsanız bile, çok agresif parselleme yaparsanız engellenirsiniz. Walmart, isteklerin sıklığını ve davranış kalıplarını izler. Gerçek bir kullanıcı, bir dakikada 100 ürün sayfası açamaz — anti-bot sistemi bunu anlar.

Walmart için önerilen limitler:

İstek Türü İstekler Arasındaki Gecikme Bir IP'den Maksimum İstek Paralellik
Ürün Sayfaları 2-5 saniye 30-50 sayfa (döngüsel ile) 10-20 iş parçacığı
Kategori Sayfaları 3-7 saniye 20-30 sayfa 5-10 iş parçacığı
Arama 5-10 saniye 10-15 istek 3-5 iş parçacığı
API Uç Noktaları 1-3 saniye 50-100 istek 20-30 iş parçacığı

Neden gecikmelerin rastgeleleştirilmesi önemlidir:

Eğer isteklerinizi tam olarak her 3 saniyede bir yapıyorsanız (3.000, 6.000, 9.000...), anti-bot sistemi bu kalıbı tanır. Gerçek bir insan bu kadar kesin olamaz — onun farklılıkları olur: 2.8 saniye, 3.4 saniye, 2.9 saniye.

Gecikmenin doğru uygulanması (Python):

import random
import time

# Yanlış — sabit gecikme
time.sleep(3)

# Doğru — rastgele gecikme
delay = random.uniform(2.0, 5.0)  # 2 ile 5 saniye arasında
time.sleep(delay)

Yük yönetimi stratejileri:

1. Adaptif rate limiting

Başarılı istek oranını izleyin. Eğer 403 veya CAPTCHA almaya başlarsanız — otomatik olarak gecikmeleri artırın ve paralelliği azaltın.

success_rate = successful_requests / total_requests

if success_rate < 0.8:  # %80'den az başarılı
    delay_multiplier *= 1.5  # gecikmeleri artır
    parallel_workers -= 2    # iş parçacıklarını azalt
elif success_rate > 0.95:  # %95'ten fazla başarılı
    delay_multiplier *= 0.9  # hızlanabilirsiniz
    parallel_workers += 1

2. Günün saatine göre dağıtım

Gerçek kullanıcıların yoğun olduğu saatlerde (ABD akşamı, 18:00-22:00 EST) parselleyin. Bu saatlerde trafiğiniz meşru olanla karışır ve anti-bot sistemi daha az agresif olur. Gece (2:00-6:00 EST) koruma daha sıkı olabilir, çünkü daha az gerçek kullanıcı vardır.

3. IP adreslerini ısıtma

Toplu parsellemeye başlamadan önce, meşru isteklerle IP adreslerini "ısıtın": ana sayfayı açın, birkaç kategori görüntüleyin, arama yapın. Bu, etkinlik geçmişi oluşturur ve IP'nin güven puanını artırır.

# Yeni IP için ısıtma sırası
1. GET https://www.walmart.com/  # ana sayfa
2. Gecikme 3-5 saniye
3. GET https://www.walmart.com/browse/electronics  # kategori
4. Gecikme 4-7 saniye
5. GET https://www.walmart.com/search?q=laptop  # arama
6. Gecikme 3-6 saniye
# Artık hedef ürünleri parselleyebilirsiniz

Kritik hata: Tüm isteklerde aynı Referer kullanmayın. Eğer 1000 ürünü parselliyorsanız ve hepsinin başlığında aynı Referer varsa — bu, botun belirgin bir kalıbıdır.

```