29 puan yazan xguru 2021-11-29 | 12 yorum | WhatsApp'ta paylaş
  • Eğer milyonlarca Google araması çalıştıran bir hizmet kuracaksanız, engellenmeyecek bir alternatife ihtiyacınız olur

  • En kolay yol ücretli proxy kullanmaktır ama oldukça pahalıdır

→ Bu yüzden yazarın denediklerini ayrıntılı biçimde anlattığı ilginç bir yazı

  • Başlangıçta AWS Lambda + Puppeteer kullanılmış

→ AWS dünya genelinde 16 bölge sunuyor ve Lambda’yı 3 kez çalıştırınca yeni bir IP atanıyor

→ Aynı anda 1000 Lambda çalıştırılırsa yaklaşık 250 public IP kullanılmış oluyor

→ 16 bölge * 250 = 4000 IP adresi; bu da haftalık milyon seviyesinde Google araması yapmak için yeterli

→ GCP’de de denenmiş ama ilginç olan, Google’ın kendi bulut IP’lerini AWS’ye kıyasla daha agresif biçimde engellemesi

→ Bu, 2019~2020 arasındaki bir deneyim; şimdi değişmiş olabilir

  • Bu yöntem Google/Bing/Amazon gibi siteleri scrape etmekte kullanılabilir ama sınırları var

→ DataDome, Akamai, Imperva gibi anti-bot şirketleri kullanılıyorsa uygulanamaz

→ Tarayıcı fingerprinting’in çok çeşitli yöntemleriyle bunun bot olup olmadığını tespit ediyorlar

→ Google Picasso, Font/TLS/WebGL fingerprinting..

→ Aslında büyük ölçekli scraping hizmetlerinin çoğu cloud + Docker container kullandığı için tespit edilmeleri kolay

  • Tespit edilmesi zor ve ölçeklenebilir bir scraping altyapısı

→ Başarılı scraping için iki kural

  1. Tarayıcı ayarları hakkında yalan söylememek

  2. En önemlisi, tarayıcı ayarları hakkında yalnızca "kimsenin fark etmeyeceği durumlarda" yalan söylemek

→ Bunun için en iyi sonucun doğrudan "gerçek cihazlar kullanmak" olduğu sonucuna varılmış

⇨ Farklı üreticilerden 500 ucuz Android cihaz satın alıp uygun fiyatlı veri planlarına abone olmak

⇨ Bunları farklı şehirlere dağıtmak (antenlere yakın yerlere)

⇨ DeviceFarmer/stf gibi open source araçlarla cihazları aynı anda kontrol etmek

⇨ Android Go gibi hafif bir OS kurup her 5 dakikada bir uçak moduna alarak sürekli yeni IP adresleri edinmek

⇨ "4G carrier grade NAT": IPv4 adres tükenmesini önlemek için tasarlanmış bu yöntemde yüz binlerce kullanıcı aynı IP’yi paylaşabildiğinden engellemek pratikte imkânsızdır

→ Ancak 500 Android cihaz satın almak, kurulum için yer ayarlamak ve donanım bakımı yapmak gibi zahmetli yönleri var

  • İyileştirme: Android’i emüle etmek

→ Android cihaz satın almak yerine Android-X8, Bluestacks, Android Studio Emulator vb. kullanılabilir mi?

→ Proxidize, 4G mobile proxy kurmayı mümkün kılıyor

→ Bir sunucuya 50 adet 4G dongle takmak

→ Her sunucuda 50~100 Android cihazı emüle etmek

→ Bu istasyonları 5 şehre kurmak

→ Güçlü komutlarla bu istasyonları yönetmek

12 yorum

 
xguru 2021-12-06

Proxy'ler, scraping servisleri, anti-bot yazılımları vb. yukarıdaki yazıda iyi şekilde derlenmiştir.

 
eajrezz 2021-12-06

Harika bir hack!

 
joone 2021-12-04

https://www.diffbot.com/products/crawl/

Tarama yapıp web sayfası scraping'i yapan bir hizmet de var. Scraping edilen veriler, gereksiz bilgiler hariç tutularak JSON olarak saklanıyor.

 
benjamin 2021-11-29

Ağzım açık kaldı...

 
xguru 2021-11-29

Bu arada tamamen farklı bir konu ama..

Google aramayı API olarak sunup satan https://serpapi.com/ gibi yerler de var.

Ama burası Naver aramasını da API olarak sunup birlikte satıyor haha

https://serpapi.com/naver-search-api

Aylık 30 bin arama için $250 gibi şaşırtıcı? bir fiyat

 
v08zbv8fvlkjasdflkj 2021-11-29

Bu kadar pahalı olması şaşırtıcı mı? Pek kestiremiyorum.

 
xguru 2021-11-29

Evet, oldukça pahalı. Yine de ücretli proxy kullanmaya kıyasla öyle.

API olduğu için engellenme endişesi olmadan kullanımı rahat.

 
hentol 2021-11-29

Yerli koşullarda bakınca, belli ölçüde veri sunan 0 TL’lik MVNO tarifeleri akla geliyor ama...

Toplu abonelik yapmak zor olduğundan, bu da pek mümkün görünmüyor.

 
xguru 2021-11-29

Google Fi örneğinde, tek bir hatta en fazla 4 ek data SIM’i mümkün olduğu için bu da bir yöntem olabilir gibi görünüyor

 
nallwhy 2021-11-29

Daha önce naver'dan bir şeyleri scrape ederken

AWS Lambda'da olmuyor ama GCP Functions'ta oluyordu diye hatırlıyorum,

IP aralığı açık olduğu için böyledir diye düşünmüştüm ama öyle değilmiş galiba.

 
honore 2021-11-29

Zaten 1. yöntemle yapıyordum; diğer yöntemler neler var diye baktım ama... aklıma bile gelmemişti.

 
xguru 2021-11-29

Aslında 1 numaradaki Lambda+Puppeteer da o şekilde yapılırsa fena olmayabilir,

ama sondaki Proxidize yöntemiyle karşılaştırıldığında muhtemelen scraping ölçeğine göre maliyet farkı olacaktır.

Daha büyük hacim gerektiğinde Proxidize daha istikrarlı olur gibi, ama basitçe yapmak için 1 numara da kötü görünmüyor.

Sonda tanıtılan https://proxidize.com/ ilginçmiş.

Kendi 4G mobil proxy'nizi oluşturup yönetmenizi sağlayan bir donanım+yazılım çözümü.

5 dongle'lı sürüm $399'mış. Kullanıcıların ülke listesinde Kore'yi de gördüğüme göre kullanmak mümkün gibi?

CGNAT kadar olmasa da, yazılım proxy havuzunu tamamen yöneten Scrapoxy gibi çözümler de var.