Traderlar, analistler ve fintech ürünleri geliştiricileri her gün aynı sorunla karşılaşıyor: borsalar, fiyat toplayıcılar ve finansal web siteleri otomatik istekleri aktif olarak engelliyor. Yanlış bir adım — ve IP'niz yasaklı, veriler gelmiyor, ticaret stratejisi bozuluyor. Bu yazıda, güvenilir bir finansal veri toplama pipeline'ı nasıl oluşturacağımızı inceleyeceğiz: hangi kaynakları kullanmalısınız, hangi araçları seçmelisiniz ve proxy'lerin sınırlamaları aşmanıza nasıl yardımcı olduğunu.
Finansal web siteleri neden ayrıştırmayı engelliyor
Finansal platformlar, internetteki en korumalı alanlardan biridir. Bu bir tesadüf değil: gerçek zamanlı fiyatlar, işlem verileri ve analitik raporlar — bunlar, erişimi için her ay binlerce dolar ödenen ticari ürünlerdir. Bu nedenle, borsalar ve fiyat toplayıcılar otomatik veri toplama karşı çok katmanlı koruma sistemleri uygulamaktadır.
İşte karşılaşacağınız temel mekanizmalar:
- Rate limiting — bir IP'den gelen isteklerin sayısının sınırlandırılması. Örneğin, Yahoo Finance, bir adresten saatte en fazla 2000 isteğe izin verir, ardından 429 hatası döner.
- IP engellemeleri — şüpheli adreslerin otomatik veya manuel olarak kara listeye alınması. Özellikle veri merkezi IP'leri (AWS, Google Cloud, DigitalOcean) aktif olarak engellenmektedir.
- CAPTCHA ve JavaScript renderleme — birçok finansal web sitesi (TradingView, Investing.com) verileri dinamik olarak JavaScript aracılığıyla yükler, bu da basit HTTP ayrıştırmayı işe yaramaz hale getirir.
- Fingerprinting — tarayıcı parmak izinin analizi: User-Agent, istek başlıkları, davranışsal kalıplar. İstekler çok hızlı gelirse ve "insan" gibi duraklamalar yoksa — bu hemen bir kırmızı bayraktır.
- Coğrafi kısıtlamalar — bazı veriler yalnızca belirli ülkelerden erişilebilir. Örneğin, bazı Amerikan borsaları, Rusya ve BDT'den gelen IP'ler için erişimi kısıtlar.
Bu mekanizmaların anlaşılması, güvenilir bir ayrıştırıcı inşa etmenin ilk adımıdır. Her biri kendi çözümünü gerektirir ve proxy'ler bu zincirdeki anahtar araçlardan biridir.
Finansal veri ve fiyatların ana kaynakları
Ayrıştırıcıyı ayarlamadan önce, hangi verilere ihtiyacınız olduğunu ve bunları nereden alacağınızı anlamak önemlidir. Kaynaklar birkaç kategoriye ayrılır, her birinin kendine özgü koruma ve erişilebilirlik özellikleri vardır.
Borsalar ve ticaret platformları
Moskova Borsası (MOEX), NYSE, NASDAQ, Binance, ByBit — her birinin resmi API'si vardır. Ancak resmi API'lerin sınırlamaları vardır: Binance, dakikada 1200 isteği ücretsiz olarak verir, MOEX — çok daha az. Yüksek frekanslı veri toplama sırasında bu sınırlamalar hızla tükenir ve ya premium erişim için ödeme yapmanız ya da istekleri birkaç IP üzerinden dağıtmanız gerekir.
Fiyat toplayıcılar
Yahoo Finance, Google Finance, Investing.com, TradingView — birçok borsadan veri toplayan popüler fiyat toplayıcılardır. Tarihsel verilere, haberlere ve analitik verilere tek bir yerden erişim sağladıkları için kullanışlıdırlar. Ancak, bunlar ayrıştırmaya karşı en agresif şekilde korunmaktadır: Cloudflare, dinamik renderleme ve davranışsal analiz kullanmaktadır.
Finansal haber siteleri
Reuters, Bloomberg, RBC, Kommersant, Finam — fiyatları etkileyen haber akışının kaynaklarıdır. Haberlerin ayrıştırılması, duygu analizi ve ticaret sinyalleri oluşturmak için gereklidir. Buradaki koruma genellikle borsalardan daha zayıftır, ancak yine de rate limiting mevcuttur.
Kripto para platformları
CoinGecko, CoinMarketCap, Binance, OKX — kripto para fiyatlarını izlemek için aktif olarak kullanılır. CoinGecko, dakikada 10-30 isteği sınırlı bir ücretsiz API sunar, bu da genellikle ciddi analizler için yeterli değildir.
💡 Bilmeniz gerekenler
Resmi API kullanımı her zaman HTML ayrıştırmadan daha tercih edilir. Ancak API yetersiz olduğunda — sınırlamalar, fiyat veya işlevsellik açısından — proxy'ler veri toplama işlemini ölçeklendirmeye yardımcı olur.
Ayrıştırma araçları: hazır hizmetlerden koda kadar
Araç seçimi, teknik seviyenize ve amacınıza bağlıdır. Üç ana yaklaşımı inceleyelim.
Hazır no-code çözümleri
Kod yazmıyorsanız, birkaç kullanışlı araç vardır:
- Octoparse — finansal web siteleri için şablonlarla görsel bir ayrıştırıcı. Arayüzde proxy döndürmeyi destekler.
- ParseHub — JavaScript siteleriyle çalışır, öğelere tıklama ve formları doldurma yeteneğine sahiptir. Proxy desteği yerleşiktir.
- Apify — Yahoo Finance, CoinMarketCap ve diğer finansal kaynaklar için hazır aktörlerle bulut tabanlı bir platform. Tek bir kod satırı olmadan çalıştırılabilir.
- n8n / Make (Integromat) — veri alma → işleme → Google Sheets veya veritabanına yazma gibi pipeline'lar oluşturmanıza olanak tanıyan otomasyon araçları.
Geliştiriciler için kütüphaneler
Kodla çalışanlar için standart yığın şöyle görünür:
# Python — finansal ayrıştırma için en popüler seçim
import requests
from bs4 import BeautifulSoup
proxies = {
"http": "http://user:pass@proxy-host:port",
"https": "http://user:pass@proxy-host:port"
}
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
}
response = requests.get(
"https://finance.yahoo.com/quote/AAPL",
proxies=proxies,
headers=headers,
timeout=10
)
soup = BeautifulSoup(response.text, "html.parser")
# HTML ayrıştırmaya devam edin...
Dinamik olarak veri yükleyen JavaScript siteleri için headless tarayıcı gereklidir:
# Playwright (Python) — dinamik finansal siteler için
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(
proxy={
"server": "http://proxy-host:port",
"username": "user",
"password": "pass"
}
)
page = browser.new_page()
page.goto("https://www.tradingview.com/symbols/NASDAQ-AAPL/")
# Verilerin yüklenmesini bekleyin
page.wait_for_selector(".tv-symbol-price-quote__value")
price = page.inner_text(".tv-symbol-price-quote__value")
print(f"Fiyat: {price}")
browser.close()
Özel finansal kütüphaneler
Python için finansal kaynaklarla çalışabilen kütüphaneler mevcuttur:
- yfinance — Yahoo Finance için resmi olmayan bir sarmalayıcı.
proxyparametresi aracılığıyla proxy iletimi destekler. - pandas-datareader — birçok kaynaktan (FRED, Quandl, Stooq) verileri DataFrame'e yükler.
- ccxt — 100'den fazla kripto para borsasıyla tek bir arayüz üzerinden çalışmak için evrensel bir kütüphane.
Finansal ayrıştırma için hangi proxy'ler uygundur
Proxy türünün seçimi, ayrıştırmanın başarısını kritik şekilde etkiler. Finansal web siteleri, IP kontrolü açısından en katı olanlardır. Seçenekleri inceleyelim:
| Proxy Türü | Hız | Anonimlik | Uygun olduğu yerler | Engellenme Riski |
|---|---|---|---|---|
| Veri Merkezi | Çok yüksek | Orta | Düşük korumalı API'ler, haber siteleri | Yüksek |
| İkametgah | Orta | Yüksek | Ağır korumalı siteler (Yahoo Finance, Investing.com) | Düşük |
| Mobil | Orta | Çok yüksek | Cloudflare kullanan siteler, TradingView, borsa mobil versiyonları | Minimum |
| ISP Proxy'leri | Yüksek | Yüksek | Yüksek frekanslı veri toplama, stabil oturumlar | Düşük |
Veri merkezi proxy'leri ne zaman kullanılmalı
Veri merkezi proxy'leri — en hızlı ve en ucuz seçenektir. Resmi borsa API'leri (Binance, MOEX, OKX) ile çalışmak için mükemmel bir şekilde uygundurlar, burada hız önemlidir, normal bir kullanıcı gibi maskelemek değil. Eğer bir API anahtarınız varsa ve istekleri birkaç IP üzerinden dağıtmak istiyorsanız, veri merkezi proxy'leri bu görevi yerine getirebilir.
Ancak, finansal toplayıcıların HTML sayfalarını ayrıştırmak için genellikle engellenirler — Cloudflare ve benzeri sistemler bulut sağlayıcılarının IP aralıklarını kolayca tanır.
İkametgah proxy'leri ne zaman gereklidir
Korunan toplayıcılar için — Yahoo Finance, Investing.com, Finviz — en iyi seçim: ikametgah proxy'leri. Gerçek ev kullanıcılarının IP'lerini kullanırlar, bu nedenle koruma sistemleri onları normal trafik olarak algılar. Döner ikametgah proxy'leri, her istek için veya belirli bir aralıkta IP'yi değiştirmeyi sağlar, bu da rate limiting'i etkili bir şekilde aşar.
Önemli bir nokta: coğrafi hedefleme olan proxy'leri seçin. Eğer Amerikan borsalarından veri ayrıştırıyorsanız — ABD'den IP kullanın. Bu, koruma sistemlerinin şüphelerini azaltır ve coğrafi kısıtlamalara sahip içeriklere erişim sağlar.
Mobil proxy'ler ne zaman gereklidir
Eğer bir site agresif bir koruma kullanıyorsa (Cloudflare 5 saniyelik ekran, PerimeterX, DataDome), o zaman ikametgah proxy'leri bile bazen yardımcı olmaz. Bu durumlarda mobil proxy'ler devreye girer — gerçek mobil ağlar (4G/5G) üzerinden çalışırlar ve koruma sistemleri tarafından en yüksek güven düzeyine sahiptirler. TradingView, Bloomberg ve bazı broker platformları en çok mobil IP'lere hoşgörülüdür.
Proxy ile fiyat ayrıştırma için adım adım ayar
Belirli bir örneği inceleyelim: Yahoo Finance'den döner proxy'ler aracılığıyla hisse senedi fiyatlarının otomatik toplanması. Bu senaryo, hem no-code araçlar aracılığıyla manuel kullanım hem de kod için uygundur.
Adım 1. Proxy verilerini alın
Servise bağlandıktan sonra, bağlantı verilerini şu formatta alacaksınız:
host:port:username:password.
Döner proxy'ler genellikle tek bir host (gateway) kullanır ve IP her istekte veya belirli bir aralıkta otomatik olarak değişir.
Adım 2. Döndürme ve coğrafi hedefleme ayarlarını yapın
Çoğu sağlayıcı, bağlantı ayarlarında ülke belirtmenize izin verir. Örneğin, Amerikan kaynaklarından veri toplamak için şunu kullanın:
gateway.proxy.com:8080:user-country-us:pass. Formatı sağlayıcınızdan doğrulayın — farklı olabilir.
Adım 3. Doğru istek başlıklarını ayarlayın
Proxy sadece çözümün bir parçasıdır. Gerçek bir tarayıcı davranışını başlıklar aracılığıyla taklit etmek de önemlidir:
headers = {
"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,*/*;q=0.8",
"Accept-Language": "en-US,en;q=0.9",
"Accept-Encoding": "gzip, deflate, br",
"Connection": "keep-alive",
"Referer": "https://finance.yahoo.com/",
"DNT": "1"
}
Adım 4. İstekler arasında gecikmeler uygulayın
Döner proxy'lerle bile, istekleri çok hızlı yapmak mümkün değildir. Rastgele gecikmeler ekleyin — bu, insan davranışını taklit eder:
import time
import random
def fetch_with_delay(url, proxies, headers):
# 2 ile 5 saniye arasında rastgele gecikme
time.sleep(random.uniform(2, 5))
response = requests.get(url, proxies=proxies, headers=headers, timeout=15)
return response
# Ayrıştırılacak ticker listesi
tickers = ["AAPL", "GOOGL", "MSFT", "TSLA", "AMZN"]
for ticker in tickers:
url = f"https://finance.yahoo.com/quote/{ticker}"
resp = fetch_with_delay(url, proxies, headers)
print(f"{ticker}: durum {resp.status_code}")
Adım 5. Hata işleme ve yeniden deneme ayarlarını yapın
Finansal ayrıştırıcının otomatik modda saatlerce ve günlerce çalışması gerekir. 429 (rate limit) veya 403 (engelleme) hatası alındığında mutlaka yeniden deneme mantığını uygulayın:
def fetch_with_retry(url, proxies, headers, max_retries=3):
for attempt in range(max_retries):
try:
time.sleep(random.uniform(2, 5))
response = requests.get(url, proxies=proxies, headers=headers, timeout=15)
if response.status_code == 200:
return response
elif response.status_code == 429:
# Rate limit — yeniden denemeden önce daha uzun bekleyin
wait_time = (attempt + 1) * 10
print(f"Rate limit. {wait_time} saniye bekliyoruz...")
time.sleep(wait_time)
elif response.status_code == 403:
print(f"Engelleme. Deneme {attempt + 1}/{max_retries}")
# Bir sonraki denemede proxy otomatik olarak değişecektir
except requests.exceptions.ProxyError:
print(f"Proxy hatası. Deneme {attempt + 1}/{max_retries}")
return None # Tüm denemeler tükenmiştir
Finansal verileri ayrıştırırken yapılan tipik hatalar
Finansal kaynaklarla çalışırken yıllar içinde, neredeyse tüm yeni başlayanların yaptığı hataların bir listesi oluştu. Her birini inceleyelim ve nasıl kaçınılacağına dair açıklamalar yapalım.
Hata 1: Korunan siteler için veri merkezi proxy'lerinin kullanımı
En yaygın hata. Veri merkezi IP'leri kolayca tanınır — Cloudflare ve benzeri sistemler Amazon AWS, Google Cloud, Hetzner'in IP aralıklarını bilir. Eğer Yahoo Finance veya TradingView'i veri merkezi proxy'si aracılığıyla ayrıştırmaya çalışıyorsanız — birkaç dakika içinde engellenirsiniz.
Çözüm: Korunan finansal siteler için ikametgah veya mobil proxy'ler kullanın. Veri merkezi proxy'lerini resmi API'lerle çalışmak için bırakın.
Hata 2: Çok yüksek istek sıklığı
Döner proxy'lerle bile, saniyede yüzlerce istek yapmak mümkün değildir. Koruma sistemleri yalnızca IP'leri değil, aynı zamanda genel trafik kalıbını da analiz eder. Çok hızlı istekler — bir botun kesin işareti.
Çözüm: İstekler arasında 2-5 saniye rastgele gecikmeler ekleyin. Yüksek frekanslı görevler için birden fazla anahtara sahip resmi API'leri kullanın.
Hata 3: JavaScript renderlemesini görmezden gelme
Birçok finansal web sitesi, sayfanın ilk yüklemesinden sonra fiyatları JavaScript aracılığıyla yükler. Eğer yalnızca HTML yanıtını ayrıştırıyorsanız, sayfada boş bloklar alırsınız.
Çözüm: Dinamik içerikli siteler için Playwright, Puppeteer veya Selenium kullanın. Ya da DevTools aracılığıyla gizli API uç noktalarını arayın — birçok site verileri JSON istekleri aracılığıyla yükler, bu da doğrudan ayrıştırmayı daha kolay hale getirir.
Hata 4: Hata işleme eksikliği
Hata işleme olmayan bir ayrıştırıcı, proxy veya ağla ilgili ilk sorunla çöker. Finansal veriler için bu kritik öneme sahiptir — atlanan fiyatlar para kaybettirebilir.
Çözüm: Her zaman yeniden deneme mantığını, hata kaydını ve uzun süreli kesintilerde uyarıları uygulayın.
Hata 5: Tüm görevler için tek bir IP kullanımı
Birden fazla kaynağı aynı anda ayrıştırmak için tek bir proxy adresi kullanmak, hızlı bir engellemeye yol açar. Her kaynak, doğal bir trafiği görmelidir, aynı IP'nin aynı anda 10 farklı finansal web sitesine gitmesi değil.
Çözüm: Proxy havuzu kullanın ve farklı veri kaynakları için farklı IP'ler atayın.
Gerçek senaryolar: kim ve neden finansal verileri ayrıştırıyor
Finansal verilerin ayrıştırılması, yalnızca büyük hedge fonları için bir görev değildir. Farklı kullanıcı kategorileri için gerçek kullanım senaryolarını inceleyelim.
Senaryo 1: Özel trader ve algoritmik ticaret
Özel bir trader, teknik göstergelere dayalı ticaret stratejisini otomatikleştirmek istiyor. Brokerin resmi API'si, verileri 15 dakikalık bir gecikmeyle sağlıyor ve premium erişim aylık 500 dolara mal oluyor. Çözüm: döner ikametgah proxy'leri aracılığıyla gerçek zamanlı fiyat ayrıştırması + Python'da göstergelerin hesaplanması + otomatik ticaret sinyalleri.
Sonuç: 15 dakikalık gecikme yerine 1-3 saniyelik veriler, abonelikte tasarruf, veriler üzerinde tam kontrol.
Senaryo 2: Fintech girişimi ve veri toplayıcı
Küçük bir fintech girişimi, döviz ve kripto para kurlarını karşılaştıran bir uygulama geliştiriyor. Resmi API'ler yıllık on binlerce dolara mal oluyor ve bütçe sınırlı. Çözüm: 15-20 kaynaktan (Rusya Merkez Bankası, Binance, ByBit, CoinGecko, bankalar) döner proxy havuzu aracılığıyla veri ayrıştırması.
Sonuç: sabit bir proxy maliyeti (~$50-200 aylık) ile onlarca kaynaktan güncel veriler, veri için büyük yatırımlar yapmadan ürün başlatma imkanı.
Senaryo 3: Yatırım analisti
Bir analist, Seeking Alpha, Finviz ve Macrotrends'den şirketlerin finansal raporlarını, temettü verilerini ve analist görüşlerini toplayarak hisse senedi tarayıcıları oluşturuyor. Bu siteler otomatik istekleri aktif olarak engelliyor ve API'lerine erişim aylık 300-1000 dolara mal oluyor.
Çözüm: Cloudflare'ı aşmak için Playwright + mobil proxy'ler, verileri günde bir kez toplamak (yüksek frekansa gerek yok), analiz için yerel bir veritabanında saklamak.
Senaryo 4: Kripto para arbitraj fırsatlarının izlenmesi
Bir kripto trader, bir varlığın farklı borsalardaki fiyat farkını (arbitraj) arıyor. Bunun için 10-20 borsada minimum gecikmeyle fiyatları aynı anda izlemek gerekiyor. Borsaların resmi API'leri genellikle katı rate limitlere sahiptir — Binance, bir IP için dakikada 1200 isteğe izin verir.
Çözüm: API'ler için pahalı ikametgah proxy'leri kullanmanın bir anlamı olmadığı için 20-30 veri merkezi proxy havuzu (isteklerin IP'lere dağıtılması), gerçek zamanlı izleme için ccxt kütüphanesi.
📊 Finansal ayrıştırıcıyı başlatmadan önce kontrol listesi
- ✅ Veri kaynaklarını belirlediniz ve resmi API'nin mevcut olup olmadığını kontrol ettiniz
- ✅ Hedef web sitesinin korumasına uygun proxy türünü seçtiniz
- ✅ Doğru başlıkları ve User-Agent'ı ayarladınız
- ✅ İstekler arasında rastgele gecikmeler eklediniz
- ✅ Yeniden deneme mantığını ve hata işleme uyguladınız
- ✅ Kaynak ülkesine göre proxy için coğrafi hedefleme ayarladınız
- ✅ Tam başlatmadan önce küçük bir hacimde test ettiniz
- ✅ Kesintilerde izleme ve uyarıları ayarladınız
Sonuç
Finansal verilerin ve fiyatların ayrıştırılması — yüksek riskli bir görevdir: verilerdeki hatalar veya bir kaynağa erişimin kaybı, ticaret kararlarını ve iş sonuçlarını doğrudan etkiler. Güvenilir bir pipeline için anahtar, her seviyede doğru araçları seçmektir: veri kaynağı, ayrıştırma aracı, proxy türü ve hata işleme mantığı.
Borsa resmi API'leri ile çalışmak için yeterince hızlı veri merkezi proxy'leri yeterlidir. Korunan toplayıcılar gibi Yahoo Finance ve Investing.com için döner ikametgah IP'leri gereklidir. En katı Cloudflare gibi siteler için ise, koruma sistemleri tarafından en yüksek güven düzeyine sahip mobil proxy'ler gereklidir.
Eğer sürekli engellemeler olmadan güvenilir bir finansal veri toplama sistemi kurmayı planlıyorsanız, ikametgah proxy'leri ile başlamanızı öneririz — çoğu finansal kaynak için hız, anonimlik ve maliyet arasında optimal dengeyi sağlarlar. Yüksek frekanslı izleme için API'ler aracılığıyla veri merkezi proxy'leri yüksek bant genişliği ile mükemmel bir seçimdir.