Beranda BlogPengikisan web Menggunakan cURL dengan proxy: Panduan langkah demi langkah

Menggunakan cURL dengan proxy: Panduan langkah demi langkah

oleh Kadek

Dalam tutorial ini, kami akan menunjukkan cara menggunakan proxy di cURL sehingga Anda mendapatkan data yang Anda inginkan, berapa pun skalanya.

Apa itu cURL?

cURL, singkatan dari Client URL, adalah alat baris perintah dan pustaka untuk mengirim dan menerima data menggunakan URL. Ini memungkinkan melakukan tugas-tugas seperti mengirim permintaan HTTP, mengunduh/mengunggah data, berinteraksi dengan API, dan membuat skrip otomatisasi.

cURL mendukung berbagai protokol jaringan termasuk HTTP, HTTPS, FTP, FTPS, SCP, SFTP, LDAP, TELNET, IMAP, POP3, SMTP, dll.

Ini juga mendukung banyak metode autentikasi seperti Basic, Digest, dan OAuth untuk berinteraksi dengan API yang dilindungi.

Insinyur sering menggunakannya untuk menguji API dengan mengirimkan permintaan dan memeriksa respons langsung dari baris perintah, sehingga memudahkan interaksi dengan layanan web selama pengembangan dan debugging.

Banyak sistem yang menginstal cURL, tetapi hal ini tidak selalu terjadi. Untuk memastikan Anda dapat mengikuti panduan ini, mari kita mulai dengan langkah dasar pertama: menginstal cURL.

Instal cURL di komputer Anda

Instal cURL di Windows

Secara default, Windows 10 dan yang lebih baru hadir dengan curl perintah, tapi ini adalah alias untuk PowerShell Invoke-WebRequest Memerintah. Jadi ketika Anda menjalankan perintah itu akan memanggil permintaan web yang tidak kita inginkan karena skrip yang kita tulis tidak dapat dioperasikan.

Untuk menggunakan cURL default, Anda harus menginstalnya secara manual dengan mengikuti langkah-langkah di bawah ini:

  • Kunjungi https://curl.se/windows; Anda akan melihat versi terbaru di halaman (8.6.0) dan mengunduh versi 64-bit.
  • Buka folder unduhan dan cari file ZIP yang diunduh bernama “curl-8.6.0_2-win64-mingw.zip”; Klik kanan file tersebut dan klik menu “Ekstrak Semua”.
  • Folder baru bernama “curl-8.6.0_2-win64-mingw” dihasilkan; CURL yang dapat dieksekusi terletak di folder bin.
  • Ganti namanya menjadi “Memancing” dan pindahkan ke disk C; Lokasi file cURL yang dapat dieksekusi sekarang adalah “C:\curl\bin\curl.exe
  • Tambahkan jalur cURL yang dapat dieksekusi ke variabel lingkungan sistem di bawah properti “Jauh” dan simpan perubahannya.
  • Buka terminal Anda dan ketik curl.exe -V
Instal cURL di komputer AndaInstal cURL di komputer Anda

Instal cURL di Linux

Instalasi tergantung pada distribusi yang digunakan. Itu sudah diinstal di Ubuntu dan Fedora.

Di Debian, Anda perlu menjalankan perintah berikut untuk menginstal cURL:

	sudo apt update
	sudo apt install curl

Di CentOS Anda perlu mengunduh paket sumber dan membuatnya secara manual.

Gunakan perintah yang sama, curl -Vuntuk memastikannya terpasang dengan benar.

Instal cURL di MacOS

Anda tidak perlu melakukan apa pun karena MacOS sudah terinstal cURL. Buka terminal Anda dan ketik curl -V

Instal cURL di MACosInstal cURL di MACos

Sekarang cURL sudah terinstal, mari kita lakukan panggilan HTTP untuk mendapatkan alamat IP kita.

Di Linux dan MacOS perintahnya adalah sebagai berikut.

	curl http://httpbin.org/ip

Di Windows perintahnya adalah sebagai berikut.

	curl.exe http://httpbin.org/ip

Seperti yang Anda lihat, Anda perlu menambahkan ekstensi “.exe” ke perintah curl di Windows, tetapi argumennya tetap sama seperti di Linux dan MacOS.

Memahami sintaks URL proxy cURL

Proxy adalah perantara antara klien yang mengirimkan permintaan dan tujuan server jarak jauh. Ketika klien mengirimkan permintaan, proxy mencegatnya dan membuat beberapa perubahan pada permintaan asli sebelum meneruskannya ke tujuan dengan identitas baru. Server jarak jauh tidak boleh menjadi asal klien.

Menggunakan proxy berguna dalam kasus penggunaan berikut:

  • Sembunyikan alamat IP untuk menjelajah Internet secara anonim
  • Akses konten atau diskon terbatas pada wilayah Anda
  • Ambil data dari berbagai sumber dengan interval kecil
  • Lewati perlindungan anti-web scraping yang terkait dengan daftar hitam IP dan pembatasan kecepatan
  • Pengikisan web dan penambangan data untuk mengekstrak data dari situs web tanpa diblokir

Sintaks URL proxy terlihat seperti ini:

://:@:

Tabel berikut menjelaskan setiap bagian dari URL:

Bagian URL proxy Keterangan
protokol Protokol jaringan yang digunakan untuk terhubung ke server proxy. Nilai yang mungkin adalah HTTP, HTTPS, dan SOCKS.
Nama belakang Pengguna harus mengautentikasi di server proxy.
kata sandi Kata sandi pengguna digunakan untuk otentikasi di server proxy.
tuan rumah Alamat IP atau URL server proxy.
Pelabuhan Nomor port yang didengarkan server proksi.

Bagian berikut menunjukkan kasus penggunaan dunia nyata dalam mengirimkan permintaan dengan proxy menggunakan cURL.

Integrasi cURL ke dalam mode proksi ScraperAPI

ScraperAPI memudahkan pengembang untuk mengikis data web dalam skala besar dengan mudah.

Katakanlah Anda ingin memilih 100 buku terbaik untuk dibaca di Amazon - URL-nya adalah https://www.amazon.com/gp/browse.html?node=8192263011

Sebagai prasyaratnya, Anda harus memiliki akun ScraperAPI. Cukup buat akun ScraperAPI gratis untuk mendapatkan akses ke kunci API Anda dan 5.000 kredit API untuk menguji alat ini.

Langkah 1: Dapatkan URL proksi ScraperAPI

Masuk ke akun Anda dan Anda akan diarahkan ke dasbor tempat Anda akan menemukan kode contoh untuk berinteraksi dengan kumpulan proksi ScraperAPI.

Di mana URL proksi ScraperAPI harus disalin?Di mana URL proksi ScraperAPI harus disalin?

Langkah 2: Kirim permintaan proxy menggunakan cURL

Sintaks pengiriman request melalui proxy untuk mengikis website menggunakan cURL adalah sebagai berikut:

keriting -x -k

Itu <proxy_url> harus diganti dengan URL proxy, dalam kasus kami URL ScraperAPI.

Itu <website_target_ur> harus diganti dengan URL website yang ingin di scan.

Inilah cara Anda mengirim permintaan ini dari sistem apa pun:

permintaan proksi cURL di Windows:

	curl.exe -x "http://scraperapi:[email protected]:8001" -k "https://www.amazon.com/gp/browse.html?node=8192263011"

permintaan proksi cURL di Linux dan MacOS

	curl -x "http://scraperapi:[email protected]:8001" -k "https://www.amazon.com/gp/browse.html?node=8192263011"

catatan: Kunci API yang digunakan di sini palsu. Oleh karena itu, gantilah dengan milik Anda sendiri untuk mencegah permintaan Anda gagal.

Jalankan perintah ini di terminal. Anda akan menerima output berikut:

respons proksi cURLrespons proksi cURL

Menggunakan cURL dengan proxy yang berputar

Memutar proxy adalah server proxy yang dapat secara otomatis mengubah alamat IP Anda dengan setiap permintaan atau pada interval tertentu. Hal ini berguna untuk melewati perlindungan anti-web scraping yang digunakan sebagian besar situs web intensif data.

Dalam web scraping intensif yang menggunakan alamat IP yang sama, mengirimkan terlalu banyak permintaan dalam waktu singkat akan menyebabkan server membatasi permintaan atau, lebih buruk lagi, memasukkan alamat IP ke daftar hitam.

Proksi yang berputar memilih alamat IP dari kumpulan proksi IP yang tersedia dan menetapkannya ke permintaan. Untuk server target, setiap permintaan diperlakukan sebagai permintaan baru.

Dengan API pengikisan yang disediakan oleh ScraperAPI, Anda mendapatkan fungsi ini langsung tanpa memerlukan konfigurasi. Anda memasukkan permintaan Anda dan server proxy ScraperAPI akan mengurus sisanya.

Memahami API pengikisan

ScraperAPI menyediakan beberapa opsi untuk teknik web scraping tingkat lanjut seperti: B. merender JavaScript atau mengakses situs web yang dibatasi di beberapa negara.

  • Untuk merender JavaScript, Anda perlu menentukan parameternya render dengan nilai yang ditetapkan ke true.
  • Untuk mengakses konten yang dibatasi pada suatu negara, Anda harus mengatur parameter Negara ke nilai yang ditetapkan ke salah satu kode negara yang didukung. Periksa daftar lengkapnya.

Sintaks untuk menambahkan parameter pada URL proxy adalah sebagai berikut:

://(.param_key1=param_value1.param_key2=param_value2…):@:

Kirim permintaan cURL melalui ScraperAPI

Katakanlah Anda ingin menjelajahi "Smart Home Page" di situs web Home Depot - berikut URL-nya: https://www.homedepot.com/b/Smart-Home/N-5yc1vZc1jw.

Situs web ini memuat JavaScript dan hanya dapat diakses di AS; Untuk mengirim permintaan menggunakan cURL, kami menambahkan parameter yang mengaktifkan penargetan geografis ke URL proksi.

Jika Anda mengirim permintaan cURL klasik (tanpa proksi) ke halaman Home Depot ini menggunakan perintah berikut:

	curl https://www.homedepot.com/b/Smart-Home/N-5yc1vZc1jw

Pada gambar di bawah Anda dapat melihat bahwa kami tidak dapat mengakses halaman tersebut.

Mengirim permintaan cURL menggunakan ScraperAPIMengirim permintaan cURL menggunakan ScraperAPI

Mari kirim permintaan menggunakan cURL dan URL proxy dengan parameter tambahan yang ditentukan:

curl -x "http://scraperapi.render=true.country=us:[email protected]:8001" -k "https://www.homedepot.com/b/Smart-Home/N-5yc1vZc1jw"

Sekarang kita mendapatkan konten HTML halaman seperti yang diharapkan

Putar permintaan proxy berhasil dengan cURLPutar permintaan proxy berhasil dengan cURL

Dengan mengikuti langkah-langkah ini, kini Anda dapat yakin bahwa Anda akan selalu mendapatkan data yang Anda inginkan, apa pun situs webnya.

Ringkasan

Mengirim permintaan menggunakan cURL melalui proxy sangatlah mudah dan dapat diringkas dalam langkah-langkah berikut:

  • Instal cURL di sistem operasi Anda.
  • Dapatkan URL proksi; Kami menggunakan URL proksi ScraperAPI untuk web scraping.
  • Gabungkan URL proxy dan situs web target untuk mengirim permintaan menggunakan cURL.
  • Gunakan parameter proksi ScraperAPI tingkat lanjut untuk mengakses konten yang dibatasi.

Scraping API bisa lebih dari sekedar kumpulan proxy. Kami telah melihat bahwa menggabungkannya dengan cURL dapat membantu mengotomatiskan pengikisan web pada ribuan situs web tanpa diblokir oleh mekanisme anti-pengikisan mereka.

Meskipun model ML ScraperAPI memungkinkan penggunaan campuran jenis proksi yang sehat, Anda juga dapat menggunakan parameter tersebut premium mengatur true untuk hanya menggunakan proxy pribadi.

Apakah Anda ingin mengetahui lebih lanjut? Lihat dokumentasi Proksi ScraperAPI untuk menjelajahi protokol server proksi lain seperti SOCKS, atau tulis skrip otomatis untuk melakukan pengikisan web dalam skala besar menggunakan ScraperAPI.

Sampai jumpa lagi, selamat menggores!

Pos terkait

Tinggalkan Komentar