Daftar Isi
Untuk apa server proxy?
Server proxy bertindak sebagai indikator lokasi dan gerbang antara perangkat Anda dan Internet dan terlihat seperti ini: 161.77.55.119.
Saat Anda menggunakan server proxy, lalu lintas Internet mengalir melalui server proxy ke alamat yang Anda minta.
Server proxy juga menutupi alamat IP Anda, sehingga Anda dapat menjelajahi Internet secara anonim atau tampak seolah-olah Anda sedang berselancar dari lokasi lain. Ini bisa sangat berguna ketika mengakses konten dibatasi berdasarkan lokasi geografis Anda.
Hal ini membawa kita pada pertanyaan tentang seberapa berguna kumpulan proxy. Karena proksi Anda terikat dengan alamat IP Anda dan alamat IP Anda terikat dengan tempat tinggal Anda, kumpulan proksi membantu Anda mengalihkan lokasi di antara proksi yang berbeda sehingga lokasi Anda yang sebenarnya tidak terdeteksi.
Namun bagaimana proxy dapat “ditempatkan” di negara lain? Ini sepenuhnya bergantung pada lokasi fisik dan alamat IP server. Jadi, server proxy “AS” hanyalah sebuah server yang secara fisik berlokasi di Amerika Serikat dan diberi alamat IP berbasis di AS.
catatan: Untuk mempelajari lebih lanjut tentang server proxy dan cara kerjanya, baca panduan terperinci kami: Apa itu Proxy?
Mengapa lokasi proxy penting?
Lokasi proxy mengacu pada lokasi geografis server proxy yang Anda gunakan. Aspek ini penting untuk web scraping karena beberapa alasan:
- Lewati batasan geografis: Hanya mereka yang tinggal di tempat tertentu yang dapat mengakses website tertentu. Siapapun yang tinggal di luar akan ditinggalkan. Setelah Anda memiliki proxy negara-negara ini, Anda dapat dengan mudah mengakses data lokalnya.
- Keamanan: Anda harus menggunakan proxy jika ingin menggunakan Internet tanpa mengungkapkan lokasi Anda yang sebenarnya. Ini membantu menjaga anonimitas dan memastikan bahwa data lokasi Anda secara umum tidak terdeteksi.
- Ambil data yang dilokalkan: Beberapa situs web menampilkan informasi berbeda tergantung pada lokasi IP-nya. Rotasi proxy memungkinkan Anda mengambil data dari negara tertentu seperti yang dilakukan pengguna lokal. Contoh bagusnya adalah mengumpulkan data penelusuran dari Inggris dibandingkan dengan AS.
Contoh praktis pentingnya lokasi proxy adalah Home Depot. Jika Anda mencoba mengakses situs Home Depot AS dari alamat IP non-AS, Anda akan menemukan bahwa konten tersebut diblokir. Hal ini dapat membuat frustasi pemilik bisnis dan analis data yang ingin membandingkan harga di pasar AS.
Namun, menggunakan proxy yang berbasis di AS dapat dengan mudah mengatasi masalah ini. Ini juga memungkinkan Anda mengumpulkan data seolah-olah Anda sedang menjelajah dari AS.
catatan: Untuk informasi lebih lanjut tentang mengapa scraper Anda diblokir dan bagaimana proxy dapat membantu, lihat artikel ini: Mengapa scraper saya diblokir?
Mengubah lokasi IP Anda dengan proxy untuk web scraping
Sekarang setelah Anda mengetahui bagaimana lokasi IP dapat membatasi upaya pengikisan web Anda, penting untuk mengetahui bagaimana Anda dapat dengan mudah mengubah lokasi menggunakan proxy dan melewati pemblokiran.
Sebelum Anda dapat mengubah lokasi IP Anda ke negara tertentu, Anda memerlukan akses ke kumpulan proxy yang berlokasi di negara tersebut terlebih dahulu. Saat Anda mengirimkan permintaan melalui kumpulan proksi ini, situs web target mendeteksi lokasi IP proksi dan memungkinkan Anda mengakses data yang Anda perlukan.
Untuk mempermudah (baik dari sisi pengembangan maupun bisnis), kami menggunakan ScraperAPI untuk merotasi proxy kami dan memanfaatkan fitur penargetan geografisnya untuk mengatasi tiga tantangan umum yang terkait dengan data geosensitif:
1. Mengikis konten yang dibatasi secara geografis
Katakanlah Anda ingin mencari data produk di situs HomeDepot.
import requests
from bs4 import BeautifulSoup
url = "https://www.homedepot.com/b/Furniture-Living-Room-Furniture-Sofas-Couches/N-5yc1vZc7oy?NCNI-5&searchRedirect=couch&semanticToken=k27r10r00f22000000000e_202407231926267546513699920_us-east4-wskn%20k27r10r00f22000000000e%20%3E%20st%3A%7Bcouch%7D%3Ast%20ml%3A%7B24%7D%3Aml%20nr%3A%7Bcouch%7D%3Anr%20nf%3A%7Bn%2Fa%7D%3Anf%20qu%3A%7Bcouch%7D%3Aqu%20ie%3A%7B0%7D%3Aie%20qr%3A%7Bcouch%7D%3Aqr"
response = requests.get(url)
# You will encounter an error or get blocked.
print(response.status_code)
Namun, tanpa menggunakan proxy AS, permintaan kami mungkin gagal atau diblokir, sehingga menghasilkan kode kesalahan seperti ini: 403 Forbidden
– dan inilah yang terjadi dengan kode di atas. Hal ini terjadi karena website mendeteksi bahwa permintaan tersebut berasal dari alamat IP yang tidak diperbolehkan untuk mengakses konten.
Untuk mengatasi keterbatasan ini, kami menggunakan ScraperAPI untuk mengirimkan permintaan kami melalui kumpulan proxy AS.
Pertama, buat akun ScraperAPI gratis dan salin kunci API Anda. Anda akan memerlukan kunci ini nanti untuk mengirim permintaan Anda. Kemudian pastikan Anda telah menginstal dependensi yang diperlukan. Anda dapat menginstalnya menggunakan perintah berikut:
pip install requests beautifulsoup4 lxml
Setelah semuanya siap, kita dapat menggunakan ScraperAPIs country_code
Parameter yang diinstruksikan untuk mengirim semua permintaan kami hanya melalui proxy yang berbasis di AS, seperti ini:
import requests
API_KEY = "Your_Api_key"
url = "https://www.homedepot.com/b/Furniture-Living-Room-Furniture-Sofas-Couches/N-5yc1vZc7oy?NCNI-5&searchRedirect=couch&semanticToken=k27r10r00f22000000000e_202407231926267546513699920_us-east4-wskn%20k27r10r00f22000000000e%20%3E%20st%3A%7Bcouch%7D%3Ast%20ml%3A%7B24%7D%3Aml%20nr%3A%7Bcouch%7D%3Anr%20nf%3A%7Bn%2Fa%7D%3Anf%20qu%3A%7Bcouch%7D%3Aqu%20ie%3A%7B0%7D%3Aie%20qr%3A%7Bcouch%7D%3Aqr"
payload = {"api_key": API_KEY, "url": url, "render": True, "country_code":"us" }
response = requests.get("http://api.scraperapi.com", params=payload)
print(response.status_code)
catatan: Ingatlah untuk mengganti Your_Api_key
dengan kunci API ScraperAPI Anda saat ini.
Hanya dengan menambahkan country_code
Dengan menambahkan parameter ke permintaan ScraperAPI, Anda dapat mengakses HomeDepot seolah-olah Anda sedang menjelajah dari AS. Ini adalah kode respon baru dari skrip scraping ini:
2. Mengikis data yang dilokalkan
Skenario lain di mana Anda dapat mengubah lokasi IP Anda dengan proxy adalah jika respons yang Anda terima berubah bergantung pada lokasi Anda. Contoh utama dari hal ini adalah halaman hasil mesin pencari (SERP).
Untuk memudahkan Anda memahami maksud saya, kami menggunakan titik akhir Google Penelusuran ScraperAPI untuk mengambil dan membandingkan data penelusuran dari hasil penelusuran Google di AS dan Inggris. Titik akhir ini mengubah data menjadi JSON yang dapat digunakan, sehingga memudahkan analisis tren dan preferensi regional.
Hasil pencarian AS
Mari kita mulai dengan mendapatkan hasil pencarian untuk kata kunci “sofa” dari AS:
import requests
import json
APIKEY= "Your_Api_key"
QUERY = "Sofa"
payload = {'api_key': APIKEY, 'query': QUERY, 'country_code': 'us'}
r = requests.get('https://api.scraperapi.com/structured/google/search', params=payload)
# Parse the response text to a JSON object
data = r.json()
# Write the JSON object to a file
with open('Us_google_results.json', 'w') as json_file:
json.dump(data, json_file, indent=4)
print("Results have been stored in Us_google_results.json")
Kode ini mengirimkan permintaan ke titik akhir SERP Google ScraperAPI dan menetapkan AS sebagai negara target. Responsnya kemudian diurai dan disimpan dalam file JSON bernama. Us_google_results.json
. Hasil yang disimpan dalam file ini mencerminkan data lokal dari Amerika Serikat.
Hasil pencarian Inggris
Selanjutnya kami melakukan hal yang sama untuk Inggris:
import requests
import json
APIKEY= "Your_Api_key"
QUERY = "Sofa"
payload = {'api_key': APIKEY, 'query': QUERY, 'country_code': 'uk'}
r = requests.get('https://api.scraperapi.com/structured/google/search', params=payload)
# Parse the response text to a JSON object
data = r.json()
# Write the JSON object to a file
with open('Uk_google_results.json', 'w') as json_file:
json.dump(data, json_file, indent=4)
print("Results have been stored in Uk_google_results.json")
catatan: Pengganti
dengan kunci API ScraperAPI Anda sebelum menjalankan kode. Jika Anda belum memilikinya, buat akun ScraperAPI gratis untuk mendapatkan 5.000 kredit API guna menguji alat tersebut.
Kode ini mengambil hasil pencarian Google untuk kata kunci “sofa”, tapi kali ini untuk Inggris. Data disimpan di Uk_google_results.json
untuk memperjelas perbedaan hasil pencarian antara kedua wilayah.
Dengan mengubah country_code
Parameter memungkinkan Anda mengakses dan membandingkan hasil pencarian dengan mudah yang disesuaikan dengan setiap lokasi, memungkinkan Anda mengidentifikasi tren dan preferensi regional.
Pendekatan ini sangat berharga bagi perusahaan yang ingin memahami perbedaan pasar, mengoptimalkan strategi SEO mereka, atau melakukan analisis persaingan di berbagai wilayah. Untuk detail selengkapnya tentang penggunaan SDE ScraperAPI, lihat dokumentasi.
Bandingkan data dari beberapa wilayah
Dalam banyak kasus, Anda perlu mengumpulkan jenis data yang sama dari wilayah berbeda untuk membuat perbandingan yang komprehensif. Hal ini terjadi, misalnya, jika Anda menganalisis strategi penetapan harga pesaing yang beroperasi di beberapa negara Eropa.
Fitur penargetan geografis memungkinkan Anda menangkap semua data seperti yang terlihat oleh pengguna lokal. Hal ini memungkinkan Anda membuat kumpulan data komprehensif yang mencerminkan perbedaan harga regional dan informasi lokal lainnya.
Berikut adalah contoh penggunaan ScraperAPI untuk mengumpulkan data dari domain khusus negara Amazon:
import requests
API_KEY = "YOUR_SCRAPERAPI_KEY"
target_countries = ("fr", "de", "es", "it") # France, Germany, Spain, Italy
base_url = "https://www.amazon"
for country_code in target_countries:
url = f"{base_url}.{country_code}/s?k=wireless+keyboard" # Modify URL structure as needed
payload = {"api_key": API_KEY, "url": url, "render": True, "country_code": country_code}
response = requests.get("http://api.scraperapi.com", params=payload)
# Extract and store product information for each country
if response.status_code == 200:
data = response.text
# Parse and extract relevant data here
print(f"Data from {country_code} has been successfully retrieved.")
else:
print(f"Failed to retrieve data from {country_code}. Status code: {response.status_code}")
Skrip ini menggunakan ScraperAPI untuk mengirim permintaan ke domain Amazon Perancis, Jerman, Spanyol, dan Italia untuk mensimulasikan akses lokal. country_code
Parameter ini memastikan bahwa data mencerminkan apa yang akan dilihat pelanggan lokal, termasuk harga spesifik wilayah dan ketersediaan produk.
Dengan mengumpulkan dan menganalisis data dari berbagai wilayah, Anda dapat mengidentifikasi pola dan perbedaan dalam strategi penetapan harga, taktik pemasaran, dan penawaran produk. Informasi ini sangat berharga untuk analisis pasar, pemantauan persaingan, dan perencanaan strategis.
Untuk ekstraksi dan analisis data terperinci, Anda mungkin perlu menyesuaikan kode Anda lebih lanjut untuk menangani struktur HTML atau format data tertentu yang digunakan oleh situs Amazon masing-masing wilayah.
Ingin menghemat waktu saat mengurai dan membersihkan data HTML mentah? Gunakan scraper Amazon kami untuk mengonversi data HTML mentah menjadi data produk siap pakai dalam format JSON atau CSV.
Proksi pengikisan web mana yang terbaik untuk Anda?
Seperti biasa, memilih penyedia proxy terbaik untuk web scraping bergantung pada kebutuhan dan tujuan Anda.
Sebelum menentukan pilihan, pertimbangkan aspek-aspek berikut:
- Berapa anggaran Anda? Layanan proxy tersedia dalam berbagai paket harga, mulai dari paket gratis hingga langganan tingkat perusahaan.
- Seberapa besar kebutuhan data Anda? Berapa banyak permintaan yang perlu dijalankan secara bersamaan? Proyek yang lebih besar memerlukan solusi yang lebih kuat yang dapat menangani permintaan dalam jumlah besar.
- Apakah Anda memerlukan panel analisis terintegrasi? Beberapa penyedia menawarkan dasbor untuk memantau penggunaan Anda, tingkat keberhasilan, dan metrik bermanfaat lainnya.
- Apakah Anda hanya memerlukan proxy atau apakah alat pengikis juga berguna untuk tugas Anda? Baca panduan kami tentang opsi untuk scraping API dan bukan proxy untuk memilih yang tepat.
- Akankah alat yang Anda pertimbangkan mengotomatiskan pekerjaan Anda hingga tingkat yang memuaskan? Berapa banyak waktu yang harus Anda habiskan untuk pemeliharaan dan tugas manual? Carilah fitur yang menyederhanakan manajemen proxy dan mengurangi beban kerja Anda.
- Apakah penyedia memiliki API? Dengan menggunakan API, Anda dapat dengan mudah mengintegrasikan alat ini ke dalam tumpukan Anda, yang penting untuk web scraping dalam skala besar.
Jika Anda mencari solusi web scraping yang kuat dan andal yang memenuhi semua kebutuhan dan memiliki kumpulan proxy di lebih dari 50 negara, Anda harus mempertimbangkan ScraperAPI.
Inilah alasannya:
- Kumpulan IP yang luas: Akses ke lebih dari 40 juta IP di lebih dari 50 negara.
- Ketersediaan tinggi: Menyediakan ketersediaan 99,99 %, mengoptimalkan kecepatan permintaan dan menghapus IP yang masuk daftar hitam.
- otomatisasi: Mengotomatiskan rotasi header IP dan HTTP melalui pembelajaran mesin untuk efisiensi yang lebih besar.
- Bypass anti-bot tingkat lanjut: Menangani CAPTCHA, pembatasan kecepatan, sidik jari, dan pertahanan lainnya.
- Titik akhir data terstruktur: Menyediakan titik akhir untuk mengonversi HTML biasa menjadi data JSON atau CSV dari domain besar seperti Amazon, Walmart, dan Google.
Menggunakan titik akhir ini dapat mempercepat pengumpulan data Anda secara signifikan karena ScraperAPI menangani seluruh proses dan memberi Anda semua data yang relevan sehingga Anda dapat menargetkan pelanggan berdasarkan lokasi mereka.
Bungkus
Proksi adalah bagian penting dari web scraping. Mereka memungkinkan Anda menyembunyikan alamat IP Anda, melewati batas kecepatan, dan mengakses konten yang dibatasi secara geografis. Dengan memahami cara menggunakan proxy secara efektif, Anda dapat:
- Mengatasi batasan geografis
- Kumpulkan data dari wilayah tertentu
- Mengurangi risiko diblokir
Apakah Anda siap untuk melakukan pengikisan web dengan mudah? Daftar untuk mendapatkan akun ScraperAPI gratis hari ini dan dapatkan 5.000 kredit scraping gratis untuk memulai!
Untuk teknik lebih lanjut, lihat sumber daya berikut: