Veri kümeleri oluşturmanın mükemmel bir yolu, web'i kazımaktır. Ortak Tarama veya resmi API'ler gibi kaynaklar projenizin gereksinimlerini karşılayamadığında (örneğin, veriler yeterince güncel olmadığında veya Twitter sizi fiyatlandırdığında) bu durum özellikle anlamlı hale gelir. Ancak web kazıma, CAPTCHA'lar ve coğrafi kısıtlamalar gibi kendi zorluklarıyla birlikte gelir. Kahramanımızın - vekillerinin - sahneye girdiği yer burasıdır.
Proxy sunucusu, web'e kendisi üzerinden erişmenizi sağlayan başka bir bilgisayardır (bir sunucu, telefon ve hatta IoT cihazı). Bu şekilde isteğe bağlı olarak farklı bir konumdan yeni bir IP adresi alırsınız. Proxy'ler VPN'lere çok benzer; aradaki fark, yalnızca bir veya iki bağlantı yerine çoğunu aynı anda kullanabilmenizdir.
Web siteleri otomatik erişimi önlemek için hız sınırlaması ve daha karmaşık kısıtlamalar uyguladıkça proxy sunucular giderek daha gerekli hale geliyor. Bazen iyi sebeplerden dolayı, çoğu zaman ticari çıkarlarını korumak veya verileri tekeline almak için. Proxy'ler tüm sorunlarınızı çözmeyecek; ancak gerçekçi kullanıcı aracıları kullanmak gibi temel hijyenin yanı sıra, bunlar web kazıyıcınızı çalışır durumda tutmanın en etkili yoludur.
Bu kılavuz size web kazıma bağlamında proxy sunucuları hakkında güçlü bir anlayış sağlayacaktır. Yıllık temsili pazar araştırmamız için topladığımız bazı pratik verilerin yanı sıra teorik bilgiler de içerir.
Web kazıyıcılar (insanlar) proxy ihtiyacıyla karşılaştıklarında ilk dürtüleri ücretsiz bir proxy listesi denemektir. Bu listeler çevrimiçi olarak halka açıktır; İçlerindeki proxy'lerin çoğu savunmasız veya yanlış yönetilen sunuculardan geliyor.
Ücretsiz proxy listeleriyle ilgili en büyük sorun, onları kimin yönettiğini asla bilememenizdir. Operatörün kötü niyetli niyetleri olabilir ve bu niyetler reklam enjeksiyonu, trafik kaydı ve diğer kötü şeylerle kendini gösterebilir. Bu kulağa korkutucu gelse de bir veri bilimci olarak sizi pek etkilemesi pek olası değil: muhtemelen işletim sistemi düzeyinde proxy'ler yapılandırmayacak veya bunları banka hesabınıza erişmek için kullanmayacaksınız.
Gerçekçi olsa da daha sıkıcı bir konu, ücretsiz proxy'lerin kesinlikle güvenilmez olmasıdır.
Nadiren uzun süre çevrimiçi kalırlar; koşanlar ise yüzlerce kiracıya sahip oldukları için dayanılmaz derecede yavaşlar; ve yüzlerce kiracıya sahip oldukları için bu tür vekiller, ilgili herhangi bir web sitesinde çok hızlı bir şekilde kendilerini gösterirler. Çalışmak için harika bir araç değil.
Bu nedenle ticari bir proxy hizmetine ödeme yapmanızı şiddetle tavsiye ederim.
Proxy sunucuları çoğunlukla IP kaynağına göre kategorize edilir. Web kazıma amacıyla büyük olasılıkla üç tür arasında seçim yapacaksınız: veri merkezi, konut veya ISP (statik konut olarak da bilinir) proxy'leri.
Bu proxy'ler veri merkezlerindeki sunucularda barındırılır. Bunlar Amazon Bulut Hizmetlerinin (AWS) örnekleri olabilir veya başka herhangi bir bulut barındırma sağlayıcısından gelebilirler. IP veritabanları, veri merkezi proxy'lerini barındırma veya veri merkezi aralıklarına ait olarak görür.
Veri merkezi proxy'leri genellikle güçlü donanım ve internet bağlantısıyla çalışır, böylece çok sayıda veriyi hızlı bir şekilde kazıyabilirsiniz. IP itibarını izlemeyen ancak bunu yapan web siteleriyle sorun yaşayan hedefler için çok etkili bir seçim olabilirler.
Bu proxy'ler gerçek kişilerin konut cihazlarından gelir (dolayısıyla adı). Örneğin, Wi-Fi bağlantısına sahip bir Windows dizüstü bilgisayarda, Android telefonda veya akıllı bir buzdolabında çalışabilirler. IP veritabanları, konut proxy'lerini sabit hat veya mobil bağlantılar olarak sınıflandırır.
Yerleşik proxy'ler her zaman dünyanın dört bir yanından gelen büyük adres havuzlarında gelir. Ana cihazın bağlantı kalitesine ve kullanılabilirliğine bağlı oldukları için veri merkezi IP'lerine göre daha az tahmin edilebilirler. Ancak bu özellik, düzenli ziyaretçiler gibi göründükleri için konut proxy'lerini her türlü web sitesinde çok etkili kılar.
Bu proxy'ler veri merkezlerindeki sunucularda barındırılır ancak Verizon gibi tüketici internet servis sağlayıcıları altında kayıtlıdır. Bu, bir İSS ile bir sözleşme imzalanarak ve onun ağındaki IP'leri duyurmasını sağlayarak gerçekleştirilir. İdeal olarak, IP veritabanları sabit hat veya mobil bağlantılar gibi proxy'leri tanımlamalıdır. Ancak bazen daha küçük bölgesel İSS'ler hâlâ veri merkezleri olarak sınıflandırılmaktadır.
ISP proxy'leri, veri merkezi proxy'lerinin niteliklerini korur ancak daha iyi bir IP itibarı nedeniyle daha etkili bir şekilde kazıma yapabilir.
Bu noktada şöyle düşünüyor olabilirsiniz: “Vay be, bir dakika! Android telefonlar mı? Kulağa fena halde botnet gibi geliyor! Bu yasal mı?” Bu sorulması iyi bir soru ve onu önemsediğinizi gösteriyor. Birçoğu bunu yapmıyor.
Gerçek şu ki, ticari bir proxy sunucusu ile botnet arasında ince bir çizgi var. Tedarik zincirinin oldukça net olduğu veri merkezi proxy'leri için bu daha az geçerlidir: bir bulut ana bilgisayarı IP'leri satın alır, bunları bir sunucuya koyar ve adresleri bir proxy sağlayıcısına kiralar. Ancak etik sorunu, yerleşik vekil ağlarla çok alakalı hale geliyor.
Konuyu çok fazla derinlemesine incelemeden, konut vekilleri çeşitli şekillerde temin edilebilir. En popüler yöntem masaüstü ve mobil uygulamalardaki SDK'lardır. Bu video bunun neye benzediğine dair somut örnekler veriyor.
Başka bir yol da trafiği doğrudan bir hizmet (ücretsiz VPN gibi, bkz. BrightVPN) veya para (Honeygain gibi bant genişliği paylaşım uygulamalarını kullanarak) karşılığında değiştirmektir.
Her durumda, IP kaynağının düzenlemeden haberdar olmasını ve buna rıza göstermesini sağlama sorumluluğu proxy sağlayıcısına düşer. Sağlayıcının web sitesinde proxy kaynak kullanımı ve kullanım yaklaşımları hakkında bilgi bulabilmelisiniz. Bu, botnet kullanma şansınızı önemli ölçüde azaltır.
Proxy sunucuları, kiralama ve rotasyona bağlı olarak farklı yapılandırmalara sahip olabilir.
İlk kriter aynı proxy sunucusunu aynı anda kaç kişinin kullanabileceğini açıklar. Tüm ücretsiz proxy listelerinde potansiyel olarak yüzlerce kiracı bulunurken ticari proxy sağlayıcıları sınırlamalar getirir. Piyasa dilinde, paylaşılan veya yarı paylaşılan, aynı proxy sunucusunu birkaç kişiyle (genellikle bir ila dört kişi) kullanacağınız anlamına gelir. Özel veya özel, proxy'leri tüm veya belirli alan adları için tek başınıza kullanacağınız anlamına gelir.
Kiracılığı seçme yeteneği, sağlayıcıların bunlar üzerinde tam mülkiyete sahip olması nedeniyle veri merkezi ve ISP proxy'lerinin bir özelliğidir. Bu, konut proxy'lerinde kullanılamaz ancak aynı zamanda daha az alakalıdır; konut kullanıcıları daha doğal tarama modellerine sahiptir ve web sitelerini isteklerle aşırı yükleme olasılıkları daha azdır.
İkinci kriter olan rotasyon, proxy sunucuların otomatik olarak geçiş yapıp yapmadığını gösterir. IP:Port (1) olarak biçimlendirilmiş proxy listelerinde sıklıkla bulunmayanlar. Uç nokta biçimini alanlar: bağlantı noktası (2):
192.168.0.1:10000
tr.proxyprovider.net:10000
Uç nokta, sağlayıcının proxy havuzuna açılan bir ağ geçidi işlevi görür. İsteklerinizi arka uçtaki farklı adreslere otomatik olarak yönlendirir. IP adresi değişse bile uç nokta aynı kalır.
Dönen proxy'ler, etkili bir şekilde sonsuz sayıda IP'ye (binlerden milyonlarcaya) erişebildiğiniz için web kazıma için çok uygundur. Bununla birlikte, bu tür hizmetler genellikle trafik harcamaları için ücret alırken, statik proxy listeleri sınırsız trafik sunma eğilimindedir.
Tartışılan proxy türlerini çeşitli özelliklerine göre karşılaştıralım.
Dönen proxy ağları durumunda, konut proxy'leri, veri merkezi adreslerinden yaklaşık sekiz ila 10 kat daha fazla ve dönen ISP proxy ağlarından biraz daha az maliyetlidir.
Statik proxy ağları genellikle IP adresi başına ücret alır. ISP proxy'leriyle karşılaştırıldığında, veri merkezi proxy sunucularının maliyeti, ne kadar satın aldığınıza bağlı olarak iki ila üç kat daha azdır.
Trafiğin öngörülemeyen son kullanıcı cihazları üzerinden yönlendirilmesine rağmen, büyük konut proxy ağları çok iyi çalışıyor. Web kazıma amacıyla (her bağlantı isteğinde IP döndüğünde), verileri neredeyse veri merkezi proxy'leri kadar iyi aktarırlar:
Ayrıca gecikme açısından da büyük bir fark göremedik. Aşağıda küresel bir CDN'nin (yanıt boyutu birkaç kilobayttır) ve Amazon'un (yaklaşık 1 MB yanıt boyutu) en yakın sunucusuna yapılan taleplerin yanıt süreleri verilmiştir:
Veri merkezi ve ISP proxy'lerinin hakim olduğu alanlardan biri üretimdir. Veri aktarımı için daha geniş boruları vardır. Bazı yerleşik proxy'ler çok hızlı olabilir, ancak 1 Mbps'ye ulaşamayan sunucularla da karşılaşabilirsiniz. Çok daha az öngörülebilirlik var.
Veri merkezi ve ISP proxy'leri neredeyse 7/24 açık kalabilir ve yalnızca bir kesinti veya bakım meydana geldiğinde çevrimdışı duruma geçebilir. Bir konut proxy'sinin çalışma süresi, Windows veya Android cihazından gelip gelmediği gibi çeşitli faktörlere bağlıdır. Her durumda, sunucu tabanlı proxy'lere kıyasla çok daha kısadır ve daha az güvenilirdir.
Bir konut IP adresinin ne sıklıkta değişeceğini görmek için her 20 saniyede bir IP veritabanına ping gönderen bir komut dosyası yazdık. İşte bazı sonuçlar:
Veri merkezi proxy'leri, Google veya sosyal medya gibi korumalı veya oldukça popüler web sitelerine karşı mücadele eder. Daha temiz bir kullanım geçmişine sahip özel IP'ler seçilerek bu durum bir miktar hafifletilebilir.
Bazen bir veri merkezi IP aralığından bağlanmak, web sitelerinin sizi içeri almaması için yeterlidir. Bu gibi durumlarda tek başvuru, farklı bir proxy türü kullanmaktır.
ISP proxy'leri varsayılan olarak daha iyi bir IP itibarına sahiptir, bu nedenle ilk incelemeye daha az maruz kalırlar. Ancak yine de gerçek bir ikamet adresiyle karşılaştırıldığında daha az gerçekçi tarama modellerine sahiptirler. Yerleşik proxy sunucuları büyük havuzlar oluşturur, çok çeşitlidir ve tarama geçmişini gerçek kişilerle paylaşır. Bu nitelikler, onları web sitesinin daha geniş kitlesinden ayırt etmeyi çok zorlaştırıyor.
Veri merkezi ve ISP proxy'leri veri merkezlerinde barındırılır ve mevcut veri merkezlerinin sayısı sınırlıdır. En sık kullanılan konum muhtemelen Ashburn'dür, ancak büyük sağlayıcılar size düzinelerce ülkeden veri merkezi IP'leri sağlayabilir. Ancak daha küçük bölgelerdeki ve özellikle de başkent olmayan şehirlerdeki adreslere ihtiyacınız varsa şansınız kalmaz.
Yerleşik proxy'lerin bu tür kısıtlamaları yoktur; bir cihaz ve istekli bir katılımcı olduğu sürece, her yerden herkes katılabilir. Sonuç olarak, büyük sağlayıcılar tüm ülkelerde şehir, ASN ve hatta bazen posta kodu hedeflemeyle IP'ler sunabilir.
Büyük proxy sağlayıcılarıyla yaptığımız ankete göre, çoğu, en popüler ürün olarak konut proxy'lerini seçti. Yalnızca iki sağlayıcı veri merkezi proxy sunucularını belirtti ve ISP proxy sunucularını belirtmedi.
Amazon, Google, LinkedIn ve diğerleri gibi büyük hedeflerin güvenlik sistemlerini sıkılaştırması nedeniyle veri merkezi proxy'leri son yıllarda düşüyor. ISP proxy'leri onların yerini alabilecek kapasiteye sahiptir, ancak kaynak bulma zorlukları nedeniyle alımları engellenmektedir; saygın ISP'leri aramıza almak zordur.
Ama yeterli teori. Bu bilgiyi projenize nasıl uygulayabilirsiniz? Proxy sunucu önerileriyle birden fazla senaryoyu modelledim.
Bu makaleyi ticari çıkarlardan uzak tutmak için belirli sağlayıcılardan bahsetmeyeceğim. Bazı öneriler almak isterseniz, web sitemizdeki büyük sağlayıcıları karşılaştırıyoruz (Sorumluluk reddi: bu şirketlerin çoğuyla ortaklık ilişkisi içindeyiz. Ancak bunun pazar raporlarımız üzerinde hiçbir etkisi yoktur.)
Örnek: Küçük bir haber portalını, e-ticaret web sitesini ve hatta Google dışı arama motorunu kazımak.
Öneri: Veri merkezi proxy'lerinin dönüşümlü kullanılması. GB başına 0,7 ABD doları veya daha düşük bir ücret karşılığında 2.000 ila 100.000 arası dönen IP havuzuna erişim elde edebilirsiniz. Engellenen IP'leri değiştirme konusunda endişelenmenize gerek kalmayacak ve trafik maliyeti ciddi veri çıkarma işlemleri için yeterince düşük olacaktır.
Örnek: Arşivleme amacıyla videoların bir akış hizmetinden veya bir görüntü toplayıcıdan resimlerin indirilmesi.
Öneri: Statik veri merkezi veya ISP proxy'leri. Hızlıdırlar ve trafik harcamalarını hesaba katmazlar. Web sitesi izin verdiğinde veri merkezi proxy'lerini, aksi takdirde ISP proxy'lerini tercih edin.
Örnek: Web'de markadan bahsedilenleri aramak.
Öneri: Statik veri merkezi veya ISP proxy'leri. Tarama çok fazla veri gerektirir; bu nedenle trafiği ana ölçüm olarak kullanmayan bir proxy türü seçmek en iyisidir. Ayrıca, hedef değiştirdiğinizde sınırlı sayıda IP bile sizi çok ileri götürecektir.
Örnek: LinkedIn'den iş ilanlarının, G2'den şirket bilgilerinin veya bir sosyal medya ağından hashtag'li gönderilerin çıkarılması.
Öneri: Konut vekilleri. Sonsuz sayıda IP ile proxy'lerinizi yasaklama riskini almayacaksınız. Ayrıca diğer proxy türlerine göre daha yüksek bir başarı oranı elde edeceksiniz.
Örnek: Hisse senedi fiyat hareketlerinin takibi.
Öneriler: Web sitesi izin veriyorsa veri merkezi proxy'leri; aksi takdirde ISP proxy'leri**.** Hızlı bağlantı hızları, verileri göründüğü gibi çıkarmanızı sağlar.
Örnek: Yerelleştirilmiş Google sorguları için arama motoru sayfa konumlarının izlenmesi.
Öneri: Şehir düzeyinde IP filtrelemeyi destekledikleri için konut proxy'leri.
Bu makale size web kazıma amacıyla proxy sunuculara kısa bir giriş yaptı. Bunu okuduktan sonra ana proxy türlerini, yapılandırmalarını ve hangi kurulumun veri bilimi projenize en çok fayda sağlayacağını ayırt edebilmelisiniz.