29 poin oleh xguru 2021-11-29 | 12 komentar | Bagikan ke WhatsApp
  • Jika membuat layanan yang menjalankan pencarian Google hingga jutaan kali, dibutuhkan alternatif agar tidak diblokir

  • Cara paling mudah adalah menggunakan proxy berbayar, tetapi biayanya cukup mahal

→ Karena itu, ini adalah tulisan menarik yang menjelaskan secara rinci berbagai hal yang sudah dicoba penulis

  • Awalnya menggunakan AWS Lambda + Puppeteer

→ AWS menyediakan 16 region di seluruh dunia, dan setiap 3 kali Lambda dijalankan akan diberikan IP baru

→ Jika menjalankan 1000 Lambda secara bersamaan, akan memakai sekitar 250 IP publik

→ 16 region * 250 berarti 4000 alamat IP, dan sebanyak itu cukup untuk melakukan pencarian Google dalam skala jutaan per minggu

→ Sudah dicoba juga di GCP, dan lucunya Google memblokir IP cloud miliknya sendiri dengan lebih agresif (dibanding AWS)

→ Ini cerita sekitar 2019~2020 dan mungkin sekarang sudah berubah

  • Metode ini bisa dipakai untuk scraping Google/Bing/Amazon dan lainnya, tetapi ada batasannya

→ Jika situs menggunakan perusahaan anti-bot seperti DataDome, Akamai, atau Imperva, maka cara ini tidak berlaku

→ Mereka mengidentifikasi bot lewat browser fingerprinting dengan cara yang sangat beragam

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

→ Sebenarnya kebanyakan layanan scraping skala besar memakai cloud + container Docker, sehingga mudah diidentifikasi

  • Infrastruktur scraping yang sulit dideteksi dan dapat diskalakan

→ Dua aturan untuk berhasil melakukan scraping

  1. Jangan memalsukan pengaturan browser

  2. Yang paling penting, palsukan pengaturan browser hanya jika "tidak ada yang akan menyadarinya"

→ Untuk itu, kesimpulannya adalah yang terbaik memang "menggunakan perangkat nyata"

⇨ Membeli 500 perangkat Android murah dari berbagai produsen, lalu berlangganan paket data murah

⇨ Menyebarkannya di beberapa kota (dekat antena)

⇨ Memanfaatkan open source seperti DeviceFarmer/stf untuk mengendalikan perangkat secara bersamaan

⇨ Memasang OS ringan seperti Android Go, lalu mengaktifkan mode pesawat setiap 5 menit agar terus mendapatkan alamat IP baru

⇨ "4G carrier grade NAT": NAT kelas operator 4G adalah cara yang dirancang untuk mencegah kehabisan alamat IPv4, sehingga satu IP dibagi oleh ratusan ribu pengguna dan praktis tidak mungkin diblokir

→ Ada banyak kerepotan seperti harus membeli 500 perangkat Android, menyiapkan lokasi instalasi, dan melakukan pemeliharaan hardware

  • Peningkatan: mengemulasikan Android

→ Daripada membeli perangkat Android, bagaimana jika memakai Android-X8, Bluestacks, Android Studio Emulator, dan semacamnya?

→ Proxidize memungkinkan pembuatan proxy mobile 4G

→ Memasang 50 dongle 4G di satu server

→ Di tiap server, mengemulasikan 50~100 perangkat Android

→ Menempatkan stasiun ini di 5 kota

→ Mengelola stasiun-stasiun ini dengan perintah yang solid

12 komentar

 
xguru 2021-12-06

Proxy, layanan scraping, software anti-bot, dan lain-lain dirangkum dengan baik dalam tulisan di atas.

 
eajrezz 2021-12-06

Peretasan yang keren!

 
joone 2021-12-04

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

Ada juga layanan yang melakukan crawling lalu scraping halaman web. Data hasil scraping disimpan dalam format JSON dengan mengecualikan informasi yang tidak diperlukan.

 
benjamin 2021-11-29

Mulut sampai ternganga...

 
xguru 2021-11-29

Ngomong-ngomong hal yang sama sekali berbeda..

Ada juga tempat seperti https://serpapi.com/ yang menjual Google Search dalam bentuk API..

Tapi di sini mereka juga menjual pencarian Naver dalam bentuk API, haha

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

Harga yang mencengangkan? yaitu $250 untuk 30 ribu pencarian per bulan

 
v08zbv8fvlkjasdflkj 2021-11-29

Apakah ini mengejutkan karena terlalu mahal? Saya kurang punya gambaran.

 
xguru 2021-11-29

Ya, itu memang sangat mahal. Dibandingkan dengan hal-hal seperti menggunakan proxy berbayar.

Karena berupa API, ini memang nyaman karena tidak perlu khawatir diblokir.

 
hentol 2021-11-29

Kalau mengacu pada kondisi dalam negeri, saya jadi teringat paket MVNO gratis 0 won yang setidaknya menyediakan sejumlah data...

Tapi karena sulit melakukan pendaftaran dalam jumlah besar, sepertinya ini juga akan sulit.

 
xguru 2021-11-29

Untuk Google Fi, satu jalur mendukung hingga 4 kartu SIM data tambahan, jadi sepertinya ini juga bisa menjadi salah satu cara.

 
nallwhy 2021-11-29

Dulu saat men-scrape sesuatu dari naver

di AWS lambda tidak bisa, tapi di GCP functions bisa,

saya ingat sempat berpikir itu karena rentang IP-nya terbuka, tapi sepertinya bukan begitu juga.

 
honore 2021-11-29

Saya sudah menggunakan cara nomor 1, jadi saya melihat metode lain yang ada apa saja.. ternyata ini benar-benar di luar dugaan saya.

 
xguru 2021-11-29

Sebenarnya, Lambda+Puppeteer pada poin 1 juga sepertinya cukup oke jika memakai cara itu,

tetapi dibandingkan dengan metode Proxidize di bagian paling akhir, kemungkinan akan ada perbedaan biaya tergantung skala scraping-nya.

Semakin besar kebutuhan skalanya, Proxidize mungkin akan lebih stabil, tetapi untuk cara yang sederhana, opsi nomor 1 juga sepertinya tidak buruk.

https://proxidize.com/ yang diperkenalkan di bagian akhir menarik juga.

Ini adalah solusi hardware+software yang memungkinkan Anda membuat dan mengelola sendiri proxy mobile 4G.

Versi 5 dongle harganya $399. Melihat Korea juga ada di daftar negara pengguna, sepertinya bisa dipakai?

Meski bukan sampai CGNAT, ada juga solusi seperti Scrapoxy yang mengelola penuh software proxy pool.