Bloga geri dön

Makine öğrenimi veri setleri için veri toplama: Binlerce sayfayı engellenmeden ve CAPTCHA olmadan nasıl tararsınız

Büyük veri hacimlerini ML veri setleri için nasıl toplayacağımızı, yasaklar ve CAPTCHA olmadan — hangi proxy'leri seçeceğimizi ve süreci nasıl kuracağımızı inceliyoruz.

📅14 Mart 2026
```html

ML modelinin kalitesi, eğitim verilerinin kalitesine ve miktarına doğrudan bağlıdır. Ancak binlerce sayfa toplamaya başladığınızda, web siteleri isteklerinizi engellemeye, captcha göstermeye ve IP'yi yasaklamaya başlar. Bu makalede, veri setleri için güvenilir bir veri toplama pipeline'ı nasıl oluşturacağınızı inceleyeceğiz: hangi araçları kullanmalı, korumaları nasıl aşmalı ve her görev için hangi tür proxy'nin uygun olduğunu öğrenmelisiniz.

Web siteleri neden veri toplama işlemlerini engelliyor ve bununla ne yapmalı

Otomatik veri toplama işlemi başlattığınızda, web sitesi normal bir kullanıcı değil, tek bir IP adresinden gelen bir istek akışı görür. Bu, koruma sistemlerinde — Cloudflare, DataDome, PerimeterX ve diğer anti-bot çözümlerinde kırmızı bayraklar yükseltir. Sonuç: captcha, geçici engelleme veya IP'nin tamamen yasaklanması.

Bu sorun, ML projeleri için özellikle ciddidir, çünkü veri seti 100 sayfa değil, on binlerce sayfa gerektirir. Basit bir metin sınıflandırma modelini eğitmek için en az 5.000–10.000 örneğe ihtiyaç vardır. Görüntü işleme için — yüz binlerce görüntü. Bu kadar büyük bir hacmi tek bir IP ile toplamak fiziksel olarak mümkün değildir.

Koruma sistemleri aşağıdaki parametreleri analiz eder:

  • İstek sıklığı — bir IP'den dakikada 10–20'den fazla istek, şüpheli görünür.
  • User-Agent ve başlıklar — parser'ların standart başlıkları kolayca tanınır.
  • Çerez ve oturum verilerinin olmaması — gerçek bir tarayıcı her zaman geçmişi taşır.
  • IP'nin coğrafi konumu — Hollanda'dan gelen bir veri merkezi IP'si, Rusça bir web sitesinde şüpheli görünür.
  • Davranış kalıbı — bir insan sayfayı 30–60 saniye okur, bir bot — 0,3 saniye.

Çözüm — doğru proxy'lerin, IP rotasyonunun ve gerçek bir kullanıcının davranışını taklit etmenin kombinasyonu. Her bir öğeyi daha ayrıntılı inceleyelim.

ML veri setleri için veriler nereden gelir: ana kaynaklar

Araçlardan bahsetmeden önce, modelleri eğitmek için verilerin nereden geldiğini anlamak önemlidir. Kaynaklar birkaç kategoriye ayrılır ve her biri için farklı bir yaklaşım gereklidir.

Açık veri setleri (parsing olmadan)

Kontrol edilmesi gereken ilk şey — zaten mevcut olan açık veri setleridir. Kaggle, Hugging Face Datasets, Google Dataset Search, UCI Machine Learning Repository, binlerce hazır veri seti içerir. Eğer göreviniz standartsa (metin sınıflandırması, nesne tanıma, duygu analizi), muhtemelen bir veri seti zaten mevcuttur. Bu, haftalarca iş tasarrufu sağlar.

Web scraping (proxy gerektirir)

Hazır veriler yoksa veya spesifikasyonunuza uymuyorsa — scraping gereklidir. Tipik görevler:

  • Wildberries, Ozon, Yandex.Market'ten duygu analizi için yorum toplama
  • Dil modellerini eğitmek için haber sitelerinden scraping
  • Görüntü işleme modelleri için ürün görüntüleri toplama
  • HR modelleri için hh.ru, SuperJob'dan iş ilanlarını scraping
  • Pazar yerlerinden fiyat verileri toplama için tahmin modelleri
  • NLP görevleri için sosyal medya scraping (VKontakte, Twitter/X)

API platformları (kısmen kapalı)

Bazı platformlar resmi API'ler sunar — Twitter/X API, Reddit API, Google Places API. Sorun: bunlar pahalıdır, sınırlara sahiptir ve genellikle gerekli veri hacmini ücretsiz vermez. Bu nedenle birçok ML ekibi API'leri scraping ile birleştirir.

Sentetik veriler

Ayrı bir yaklaşım — GPT-4 veya diğer LLM'ler ile sentetik verilerin üretilmesidir. Ancak bunun için yine de gerçek verilere ihtiyaç vardır (few-shot örnekleri). Bu nedenle scraping, çoğu ML projesi için temel veri toplama aracı olarak kalır.

Kod yazmadan veri toplama araçları

İyi haber: ML veri setleri için veri toplamak için geliştirici olmanız gerekmiyor. Proxy'lerle çalışabilen ve temel korumaları aşabilen hazır no-code ve low-code araçlar mevcuttur.

No-code scraper'lar

Araç Ne için uygundur Proxy desteği Zorluk
Octoparse Web siteleri, tablolar, sayfalama ✅ Evet Düşük
ParseHub Dinamik siteler (JS) ✅ Evet Düşük
Apify 100+ site için hazır aktörler ✅ Dahil Orta
Bright Data IDE Karmaşık korumalı siteler ✅ Dahil Orta
Scrapy Cloud Büyük ölçekli scraping ✅ Middleware üzerinden Yüksek

Çoğu ML veri toplama görevleri için Octoparse veya Apify yeterlidir. Octoparse, 20–30 dakika içinde görsel olarak bir scraper ayarlamanıza olanak tanır: sayfadaki öğeleri belirtir, sayfalama ayarlarsınız, proxy'leri eklersiniz — ve toplama işlemini başlatırsınız. Sonuç, hemen kullanılabilecek bir CSV veya JSON formatında dışa aktarılır.

Apify, popüler platformları scraping yapmanız gerektiğinde özellikle kullanışlıdır: Instagram, Twitter/X, Amazon, Google Maps, LinkedIn ve diğer birçok site için hazır "aktörler" vardır. Sadece parametreleri ayarlıyorsunuz — ve yapılandırılmış verileri alıyorsunuz.

ML veri setleri için hangi tür proxy seçilmeli

Proxy türü seçimi, veri toplama başarısının anahtar faktörlerinden biridir. Buradaki bir hata pahalıya mal olabilir: ya yarı yolda engellenirsiniz ya da gereksiz güce fazla ödeme yaparsınız. Üç ana türü inceleyelim.

Konut proxy'leri — korumalı siteler için

Konut proxy'leri, gerçek ev kullanıcılarının IP adresleridir. Anti-bot sistemleri için bunlar, normal bir ziyaretçiden ayırt edilemez. Bu, onları ciddi korumaya sahip siteleri scraping yapmak için ideal hale getirir: pazar yerleri (Wildberries, Ozon), sosyal medya, haber agregatörleri.

ML görevleri için en büyük avantaj: coğrafi konumla veri toplama imkanıdır. Eğer modelinizi bölgesel içerik üzerinde eğitiyorsanız — gerekli bölgeden bir proxy seçersiniz. Bu, coğrafi sınıflandırma veya bölgesel lehçelerin analizi gibi görevler için özellikle önemlidir.

Mobil proxy'ler — sosyal medya ve mobil platformlar için

Mobil proxy'ler, mobil operatörlerin IP'lerini (4G/5G) kullanır. Bu, platformlar üzerinde en yüksek güven düzeyine sahiptir — çünkü bir mobil IP, gerçekte yüzlerce insan tarafından aynı anda kullanılmaktadır (tüm aboneler aynı baz istasyonu üzerinden tek bir IP ile çıkış yapar). Bu, mobil IP ile aktif veri toplamanın normal görünmesini sağlar.

Mobil proxy'ler, VKontakte, TikTok veya Instagram gibi veri merkezi IP'lerini agresif bir şekilde engelleyen platformlardan veri toplarken özellikle gereklidir.

Veri merkezi proxy'leri — açık kaynaklar ve hız için

Veri merkezi proxy'leri hızlı ve ucuzdur. Gerçek kullanıcılara bağlı değildir, bu nedenle koruma sistemleri tarafından daha kolay tanınır. Ancak birçok ML görevi için bu yeterlidir: eğer Wikipedia, açık arşivler, GitHub, kamu API'leri veya ciddi koruması olmayan siteleri scraping yapıyorsanız — veri merkezi proxy'leri mükemmel bir şekilde iş görecek ve çok daha ucuz olacaktır.

ML göreviniz için proxy türünü nasıl seçmelisiniz:

  • Pazar yerleri (Wildberries, Ozon, Avito): döngüsel konut proxy'leri
  • Sosyal medya (VKontakte, Instagram, TikTok): mobil proxy'ler
  • Haber siteleri, forumlar, Wikipedia: veri merkezi proxy'leri
  • Google Arama, Yandex: konut veya mobil proxy'ler
  • Açık arşivler, Common Crawl: veri merkezi proxy'leri

Pratik senaryolar: metin, görüntüler, fiyatlar, yorumlar

Popüler ML görevleri için veri toplama senaryolarını inceleyelim — kaynaklar, araçlar ve gerekli proxy türleri ile birlikte.

Senaryo 1: Duygu analizi için yorum veri seti (NLP)

Görev: Wildberries'ten 50.000 yorum ve puan toplamak, duygu analizi sınıflandırma modelini eğitmek için.

Kaynak: Wildberries — 1–5 yıldız puanlarıyla ürün yorumları (ideal etiketleme zaten mevcut).
Araç: Octoparse veya requests kütüphanesi ile hazır bir Python scripti.
Proxy: Rotaasyonlu konut proxy'leri — Wildberries, veri merkezi IP'lerini aktif olarak engelliyor.
Toplama hızı: 3–5 saniyede bir istek — 50.000 yorum 2–3 günde toplanır.

Ne elde edersiniz: Yorum metni, puan (1–5), ürün kategorisi, tarih gibi sütunları içeren bir CSV dosyası. Bu, eğitim için hazır bir veri setidir — etiketleme verilerde zaten yer alır.

Senaryo 2: Görüntü işleme için görüntü veri seti

Görev: Sınıflandırma modelini eğitmek için birkaç kategoriden 100.000 ürün görüntüsü toplamak.

Kaynak: Ozon, Yandex.Market — ürünlerin kategorileriyle birlikte fotoğrafları.
Araç: Apify (e-ticaret için hazır aktörler var) veya ParseHub.
Proxy: Rusya'da coğrafi rotasyonlu konut proxy'leri.
Önemli: Görüntüleri doğrudan değil, proxy üzerinden indirin — CDN sunucuları da toplu indirmeleri engelleyebilir.

Ne elde edersiniz: Kategorilere ayrılmış görüntü klasörleri — Keras'taki ImageDataGenerator veya PyTorch'taki DataLoader tarafından doğrudan kabul edilen bir yapı.

Senaryo 3: Dil modeli için metin korpusu

Görev: Belirli bir konu için dil modelini ince ayar yapmak (fine-tuning) amacıyla büyük bir Rusça metin korpusu toplamak — örneğin, hukuki metinler veya tıbbi makaleler.

Kaynak: Tematik forumlar, haber siteleri, Habr, profesyonel portallar.
Araç: Yapılandırılmış veri toplama için Scrapy Cloud veya Octoparse.
Proxy: Rotaasyonlu veri merkezi proxy'leri — çoğu metin sitesi sert bir korumaya sahip değildir ve hız, anonimlikten daha önemlidir.
Hız: Veri merkezi proxy'leri ile dakikada 50–100 istek yapabilir ve birkaç günde bir milyon belge toplayabilirsiniz.

Senaryo 4: HR modeli için iş ilanları veri seti

Görev: hh.ru'dan 200.000 iş ilanı toplamak, öneri veya meslek sınıflandırma modelini eğitmek için.

Kaynak: hh.ru — resmi bir API'leri var, ancak sınırlara sahip. Büyük hacimler için scraping gereklidir.
Araç: Apify (hh.ru için bir aktör var) veya Octoparse.
Proxy: Rotaasyonlu konut proxy'leri — hh.ru iyi korunmuş ve veri merkezi IP'lerini engelliyor.
Ne elde edersiniz: Yapılandırılmış veriler: iş ilanı başlığı, açıklaması, maaş, gereksinimler, bölge, sektör — NLP ve öneri sistemleri için mükemmel bir veri seti.

Toplu veri toplama sırasında engellemeleri nasıl önlemeli

İyi proxy'lere sahip olsanız bile, temel kurallara uymadığınızda yasaklanabilirsiniz. İşte verileri istikrarlı ve kayıpsız bir şekilde toplamaya yardımcı olan kanıtlanmış yöntemler.

IP ve oturum rotasyonu

En önemli kural: binlerce istek için tek bir IP kullanmayın. Her 10–50 istekte bir IP değişecek şekilde rotasyon ayarlayın. Çoğu araç (Octoparse, Apify, Scrapy) bunu proxy havuzuna bağlandığında kutudan çıkar çıkmaz destekler.

Ek olarak, IP ile birlikte oturum çerezlerini de değiştirin — bu, yeni bir kullanıcıyı taklit eder, sadece adres değişikliğini değil.

İstekler arasında doğru gecikmeler

İstekler arasında rastgele gecikmeler ekleyin — sabit 2 saniye değil, 1 ile 5 saniye arasında rastgele. Sabit bir aralık, bot kalıbı olarak kolayca tespit edilir. Rastgele olan, insan davranışını taklit eder.

Özellikle korumalı siteler için daha uzun aralar ekleyin: her 100 istekte 30–60 saniye ara verin. Bu hızınızı düşürür, ancak yasaklanma riskini radikal şekilde azaltır.

Doğru istek başlıkları

User-Agent'ı güncel bir tarayıcıya (son sürüm Chrome, Firefox) ayarlayın. Standart HTTP başlıklarını ekleyin: Accept-Language, Accept-Encoding, Referer. Bu başlıkların olmaması, çoğu koruma sistemi için belirgin bir bot işareti olur.

Çalışmayan saatlerde toplama

Toplu toplama işlemini gece (02:00–06:00 Moskova saati) başlatın. Bu saatlerde web sitelerindeki trafik minimumdur, anti-bot sistemleri daha az agresiftir ve istekleriniz yükün daha büyük bir kısmını oluşturur — bu, rekabetçi trafiğin daha az olması nedeniyle şüpheleri azaltır.

Hata işleme ve yeniden denemeler

Yanıt kodlarını otomatik olarak işlemek için ayarlayın:

  • 429 (Too Many Requests) — gecikmeyi artırın, IP'yi değiştirin, 5–10 dakika bekleyin.
  • 403 (Forbidden) — IP yasaklandı, mutlaka proxy'yi değiştirin.
  • 503 (Service Unavailable) — sunucu geçici olarak aşırı yüklenmiş, 1–2 dakika içinde tekrar deneyin.
  • 200 captcha ile — daha kaliteli bir proxy'ye ihtiyacınız var (veri merkezi yerine konut).

Proxy ve site arasında coğrafi uyum

Hedef web sitesi ile aynı ülkeden proxy kullanın. Eğer Wildberries'ten scraping yapıyorsanız — Rus IP'leri seçin. Eğer bir Alman web sitesinden veri topluyorsanız — Alman proxy'lere ihtiyacınız var. Coğrafi uyumsuzluk, yasaklanmanın en sık tetikleyicilerinden biridir.

Kontrol listesi: ML için veri toplama pipeline'ının ayarlanması

Veri seti için herhangi bir büyük ölçekli veri toplama işlemi başlatmadan önce bu kontrol listesini kullanın:

📋 Hazırlık

  • ☐ Kaggle / Hugging Face'de hazır bir veri seti olup olmadığını kontrol edin
  • ☐ Hedef web sitesinin robots.txt dosyasını inceleyin
  • ☐ Veri hacmini ve veri setinin yapısını belirleyin
  • ☐ Scraping aracı seçin (Octoparse, Apify, Scrapy)
  • ☐ Göreve uygun proxy türünü seçin (konut / mobil / veri merkezi)

⚙️ Ayar

  • ☐ IP rotasyonu ile proxy havuzunu bağlayın
  • ☐ User-Agent'ı ayarlayın (güncel Chrome/Firefox)
  • ☐ Standart HTTP başlıklarını ekleyin
  • ☐ Rastgele gecikmeler ayarlayın (1–5 saniye)
  • ☐ Hata işleme ayarlarını yapın (429, 403, 503)
  • ☐ Veri dışa aktarma formatını belirtin (CSV, JSON, JSONL)

🧪 Test

  • ☐ 100–500 kayıt üzerinde test başlatın
  • ☐ Verilerin kalitesini ve tamlığını kontrol edin
  • ☐ Test hacminde yasaklama olmadığından emin olun
  • ☐ Toplama hızını kontrol edin ve tam veri seti için süreyi hesaplayın

🚀 Başlatma ve izleme

  • ☐ Gece saatlerinde başlatın (02:00–06:00 MSK)
  • ☐ Hata bildirimlerini ayarlayın
  • ☐ Toplanan verilerin kalitesini periyodik olarak kontrol edin
  • ☐ Ara sonuçları kaydedin (her 10.000 kayıtta kontrol noktası)

🧹 Son işlem

  • ☐ Çiftleri kaldırın
  • ☐ Metinlerden HTML etiketlerini ve özel karakterleri temizleyin
  • ☐ Sınıf dengelerini kontrol edin (sınıflandırma görevleri için)
  • ☐ Eğitim/doğrulama/test setlerine ayırın
  • ☐ ML çerçevenizle uyumlu bir formatta kaydedin

Sonuç

ML veri setleri için veri toplama, tek seferlik bir görev değil, sistematik bir süreçtir. Bu makaleden çıkan ana sonuçlar: doğru proxy seçimi, sona ulaşıp ulaşamayacağınızı belirler ya da engellemelerde takılı kalırsınız. Koruma gerektiren pazar yerleri ve agregatörler için konut proxy'leri, sosyal medya için mobil proxy'ler, açık metin kaynakları için veri merkezi proxy'leri gereklidir. Octoparse ve Apify gibi araçlar, kod yazmadan bir pipeline kurmanıza olanak tanır. Temel kurallara (IP rotasyonu, rastgele gecikmeler, doğru başlıklar) uymak, yüz binlerce kaydı kayıpsız bir şekilde toplamanızı sağlar.

Eğer pazar yerlerinden, haber sitelerinden veya tematik portallardan veri toplayacaksanız, konut proxy'leri ile başlamanızı öneririz — bunlar, koruma sistemleri tarafından maksimum güven düzeyi sağlar ve büyük veri toplama işlemlerinde yasaklanma riskini en aza indirir.

```