Pengumpulan data yang konstan memungkinkan Anda untuk terus mengetahui perubahan yang sedang berlangsung dan membuat keputusan yang tepat waktu. Sebagai salah satu mesin pencari terpopuler, Google dapat menawarkan informasi terkini dan data yang paling relevan. Baik Anda mencari hotel atau agen real estat, Google menyediakan data yang relevan.Â
Ada banyak cara untuk mengikis data: mulai dari pengumpulan data secara manual, memesan paket data dari pasar, menggunakan API pengikis web, dan membuat pengikis khusus.
Daftar Isi
Apa yang Bisa Kita Kikis dari Google?
Google memiliki banyak layanan di mana Anda dapat menemukan informasi yang Anda butuhkan. Ada halaman hasil mesin pencari (SERP), peta, gambar, berita, dan banyak lagi. Dengan mengikis Google, Anda dapat melacak peringkat Anda sendiri dan peringkat pesaing Anda di halaman hasil pencarian Google. Anda dapat mengumpulkan informasi utama dari Google Maps atau menggunakannya untuk berbagai tujuan.
Hasil pencarian
Salah satu tugas yang paling banyak diminta adalah mengekstrak informasi dari Google SERP, termasuk judul, URL, deskripsi, dan cuplikan. Sebagai contoh, mengikis SERP Google akan menjadi solusi yang baik jika Anda perlu mengumpulkan daftar sumber daya yang terlibat dalam bidang tertentu atau mengumpulkan penyedia layanan.
Google Maps
Mengikis Google Maps adalah target pengikisan kedua. Dengan mengikis peta, Anda dapat dengan cepat mengumpulkan informasi tentang bisnis di area tertentu dan mengumpulkan informasi kontak, ulasan, dan peringkat mereka.
Berita Google
Agregator berita biasanya mengikis Google News untuk mengumpulkan peristiwa terkini. Google News menyediakan akses ke artikel berita, berita utama, dan detail publikasi, dan pengikisan dapat membantu Anda dengan otomatisasi mendapatkan data.
Layanan Google lainnya
Selain yang telah disebutkan sebelumnya, Google memiliki layanan lain, seperti Google Images dan Google Shopping. Layanan-layanan ini juga dapat di-scraping, meskipun informasi yang mereka sediakan mungkin kurang menarik untuk tujuan web scraping.
Mengapa Kita Harus Mengikis Google?
Ada berbagai alasan mengapa orang dan perusahaan dapat menggunakan pengikisan data Google. Misalnya, peneliti dengan pengikisan data Google dapat mengakses data dalam jumlah besar untuk penelitian dan analisis akademis. Demikian pula, bisnis dapat menggunakan data yang dihasilkan untuk riset pasar, intelijen kompetitif, atau menarik pelanggan potensial.
Selain itu, web scraping juga akan sangat membantu para spesialis SEO. Mereka dapat menganalisis peringkat dan tren mesin pencari dengan lebih baik dengan data yang mereka kumpulkan. Dan pembuat konten bahkan dapat menggunakan scraping Google untuk mengumpulkan informasi dan membuat konten yang berharga.
Cara mengikis data Google
Seperti yang telah kami katakan, ada beberapa cara untuk mendapatkan data yang dibutuhkan. Kami tidak akan membahas tentang pengumpulan data secara manual atau membeli kumpulan data yang sudah jadi. Sebaliknya, kami ingin membahas cara mendapatkan data yang diinginkan sendiri. Jadi, Anda memiliki dua pilihan di sini:
- Gunakan alat pengikis khusus seperti program, pengikis tanpa kode, dan plug-in.
- Buat scraper Anda. Di sini Anda dapat membuatnya dari awal, menyelesaikan tantangan seperti melewati blok, memecahkan captcha, rendering JS, menggunakan proxy, dan banyak lagi. Atau, Anda bisa menggunakan API untuk mengotomatiskan proses dan mengatasi masalah-masalah ini dengan satu solusi.
Mari kita periksa masing-masing opsi ini.
Menggunakan Google Scraper tanpa kode
Cara termudah untuk mendapatkan data adalah dengan menggunakan pengikis tanpa kode Google Maps atau Google SERP. Anda tidak memerlukan pengetahuan atau keterampilan pemrograman untuk ini. Untuk mendapatkan data dari Google SERP atau Maps, daftar di situs web kami dan buka pengikis tanpa kode yang diperlukan. Misalnya, untuk menggunakan pengikis tanpa kode Google Maps, cukup isi kolom yang diperlukan dan klik tombol "Jalankan Pengikis".
Setelah itu, Anda dapat mengunduh data dalam format yang diinginkan. Dengan cara yang sama, Anda bisa mendapatkan data dari Google SERP. Anda juga bisa mendapatkan data tambahan dari layanan Google menggunakan alat seperti Google Trends atau pengikis tanpa kode Google Reviews.
Buat alat scraping web Google Anda sendiri
Opsi kedua membutuhkan keahlian pemrograman tetapi memungkinkan Anda untuk membuat alat yang fleksibel yang sesuai dengan kebutuhan Anda. Untuk membuat scraper Anda, Anda bisa menggunakan salah satu bahasa pemrograman populer seperti NodeJS, Python, atau R.Â
NodeJS menawarkan beberapa keunggulan dibandingkan dengan bahasa pemrograman lainnya. NodeJS memiliki berbagai macam paket npm yang memungkinkan Anda untuk menyelesaikan tugas apa pun, termasuk web scraping. Selain itu, NodeJS sangat cocok untuk menangani halaman yang dibuat secara dinamis seperti yang ada di Google.Â
Namun, pendekatan ini juga memiliki kekurangan. Misalnya, jika Anda sering mengikis situs web, tindakan Anda mungkin dianggap mencurigakan, dan layanan ini dapat menawarkan Anda untuk memecahkan CAPTCHA atau bahkan memblokir alamat IP Anda. Dalam hal ini, Anda harus sering mengubah IP Anda menggunakan proxy.Â
Ketika membuat scraper Anda, sangat penting untuk mempertimbangkan tantangan potensial ini untuk menciptakan alat yang efektif.
Mempersiapkan Pengikisan
Sebelum memulai web scraping, penting untuk melakukan persiapan yang diperlukan. Mari kita mulai dengan menyiapkan lingkungan, menginstal paket npm yang diperlukan, dan meneliti halaman yang ingin kita scrape.
Menginstalasi lingkungan
NodeJS adalah sebuah shell yang memungkinkan Anda untuk mengeksekusi dan memproses JavaScript di luar peramban web. Keuntungan utama dari NodeJS adalah mengimplementasikan arsitektur asinkron dalam satu utas, sehingga aplikasi Anda akan berjalan dengan cepat.
Untuk mulai menulis scraper menggunakan NodeJS, mari instal dan perbarui NPM. Unduh versi stabil terbaru dari NodeJS dari situs web resminya dan ikuti instruksi untuk menginstalnya. Untuk memastikan bahwa semuanya telah berhasil terinstal, Anda dapat menjalankan perintah berikut:
node -v
Anda seharusnya mendapatkan sebuah string yang menampilkan versi NodeJS yang terinstal. Sekarang, mari kita lanjutkan dengan memperbarui NPM.
npm install -g npm
Setelah ini selesai, kita dapat melanjutkan untuk menginstal perpustakaan.
Menginstal perpustakaan
Tutorial ini akan menggunakan Axios, Cheerio, Puppeteer, dan Scrape-It.Cloud NPM. Kami telah menulis tentang cara menggunakan Axios dan Cheerio untuk mengikis data, karena keduanya sangat bagus untuk pemula. Puppeteer adalah paket NPM yang lebih kompleks tetapi juga lebih fungsional. Kami juga menyediakan paket NPM berdasarkan Google Maps dan Google SERP API, jadi kita akan membahasnya juga.
Pertama, buat sebuah folder untuk menyimpan proyek dan buka command prompt di folder ini (buka folder tersebut, dan pada address bar, ketik "cmd" dan tekan enter). Kemudian inisialisasi npm:
npm init -y
Ini akan membuat sebuah file di mana dependensi akan didaftarkan. Sekarang Anda dapat menginstal pustaka itu sendiri:
npm i axios
npm i cheerio
npm i puppeteer puppeteer-core chromium
npm i @scrapeit-cloud/google-maps-api
npm i @scrapeit-cloud/google-serp-api
Sekarang setelah elemen-elemen yang diperlukan telah terpasang, mari kita periksa halaman web yang akan kita scraping. Sebagai contoh, kami telah memilih yang paling populer - Google SERP dan Google Maps.
Analisis halaman SERP Google
Mari gunakan Google untuk mencari "cafe new york" dan temukan hasilnya. Kemudian, buka DevTools (F12 atau klik kanan pada layar dan pilih Inspect) dan periksa dengan seksama item-itemnya. Seperti yang bisa kita lihat, semua elemen memiliki kelas yang dibuat secara otomatis. Namun, struktur keseluruhan tetap konstan, dan elemen-elemennya, terlepas dari kelasnya yang berubah, memiliki kelas yang disebut "g".
Sebagai contoh, kita akan mengambil judul dan tautan ke sumber daya. Elemen-elemen lainnya akan dikikis dengan cara yang sama sehingga kita tidak akan fokus pada elemen-elemen tersebut.Â
Judul ada di tag h3, dan tautan disimpan di tag 'a' di dalam atribut href.
Jika Anda membutuhkan lebih banyak data, temukan di halaman, di dalam kode, dan temukan pola yang dapat digunakan untuk mengidentifikasi elemen tertentu.
Analisis halaman Google Map
Sekarang, mari kita lakukan hal yang sama untuk Google Maps. Buka tab Google Maps dan buka DevTools. Kali ini mari kita dapatkan judul, peringkat, dan deskripsi. Anda bisa mendapatkan banyak sekali data dari Google Maps. Kami akan menunjukkannya dengan contoh pengikisan dengan API. Namun, jika Anda membuat scraper yang lengkap untuk mengumpulkan semua data yang tersedia dari Google Maps, bersiaplah untuk kerja keras dan lama.
Seperti yang bisa kita lihat, kita membutuhkan data dari kelas "fontHeadlineSmall", dari tag span dengan atribut role = "img" dan dari tag span.
Mengikis SERP Google dengan NodeJS
Mari kita mulai dengan mengikis SERP Google. Kita telah menganalisis halaman sebelumnya, jadi kita hanya perlu mengimpor paket-paketnya dan menggunakannya untuk membangun scraper.
Kikis SERP Google Menggunakan Axios dan Cheerio
Mari kita mengimpor paket Axios dan Cheerio. Untuk melakukan ini, buat file *.js dan tulis:
const axios = require('axios');
const cheerio = require('cheerio');
Sekarang mari kita jalankan kueri untuk mendapatkan data yang diperlukan:
axios.get('https://www.google.com/search?q=cafe+in+new+york')
Ingat, semua elemen yang kita butuhkan memiliki kelas "g". Kita memiliki kode html dari halaman tersebut, jadi kita perlu memprosesnya dan memilih semua elemen dengan kelas "g".
.then(response => {
const html = response.data;
const $ = cheerio.load(html);
console.log($.text())
const elements = $('.g');
Setelah itu, kita hanya perlu menelusuri semua elemen dan memilih judul serta tautannya. Kemudian kita bisa menampilkannya di layar.
elements.each((index, element) => {
const title = $(element).find('h3').text();
const link = $(element).find('a').attr('href');
console.log('Title:', title);
console.log('Link:', link);
console.log('');
});
Kode siap digunakan. Dan itu akan berfungsi jika halaman Google tidak dibuat secara dinamis. Sayangnya, meskipun kita menjalankan kode ini, kita tidak akan bisa mendapatkan data yang diinginkan. Ini karena Axios dan Cheerio hanya bekerja dengan halaman statis. Yang bisa kita lakukan adalah menampilkan kode HTML dari permintaan yang kita terima di layar dan memastikan bahwa kode tersebut terdiri dari sekumpulan skrip yang akan menghasilkan konten ketika dimuat.
Kikis SERP Google menggunakan Dalang
Mari kita gunakan Puppeteer, yang sangat bagus untuk bekerja dengan halaman dinamis. Kita akan menulis scraper yang meluncurkan peramban, menavigasi ke halaman yang diinginkan, dan mengumpulkan data yang diperlukan. Jika Anda ingin mempelajari lebih lanjut tentang paket npm ini, Anda bisa menemukan banyak contoh penggunaan Puppeteer di sini.
Sekarang hubungkan perpustakaan dan siapkan file untuk scraper kita:
const puppeteer = require('puppeteer');
(async () => {
//Here will be the code of our scraper
})();
Sekarang, mari kita luncurkan browser dan buka halaman yang diinginkan:
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://www.google.com/search?q=cafe+in+new+york');
Kemudian tunggu hingga halaman dimuat dan dapatkan semua elemen dengan kelas "g".
await page.waitForSelector('.g');
const elements = await page.$$('.g');
Sekarang, mari kita telusuri semua elemen satu per satu dan memilih judul dan tautan untuk masing-masing elemen. Kemudian tampilkan datanya di layar.
for (const element of elements) {
const title = await element.$eval('h3', node => node.innerText);
const link = await element.$eval('a', node => node.getAttribute('href'));
console.log('Title:', title);
console.log('Link:', link);
console.log('');
}
Dan pada akhirnya, jangan lupa untuk menutup browser.
await browser.close();
Dan kali ini, kita mendapatkan data yang kita butuhkan jika kita menjalankan skrip ini.
D:\scripts>node serp_pu.js
Title: THE 10 BEST Cafés in New York City (Updated 2023)
Link: https://www.tripadvisor.com/Restaurants-g60763-c8-New_York_City_New_York.html
Title: Cafés In New York You Need To Try - Bucket Listers
Link: https://bucketlisters.com/inspiration/cafes-in-new-york-you-need-to-try
Title: Best Places To Get Coffee in New York - EspressoWorks
Link: https://espresso-works.com/blogs/coffee-life/new-york-coffee
Title: Caffe Reggio - Wikipedia
Link: https://en.wikipedia.org/wiki/Caffe_Reggio
...
Setelah mengetahui cara mendapatkan data yang dibutuhkan, Anda dapat dengan mudah memodifikasi skrip Anda menggunakan selektor CSS untuk elemen-elemen yang diinginkan.
Mengikis menggunakan API Google SERP
Scraping menjadi lebih mudah dengan API Google SERP. Untuk melakukannya, cukup daftar di situs web kami, salin kunci API dari dasbor Anda di akun, dan buat permintaan GET dengan parameter yang diperlukan.
Mari kita mulai dengan menghubungkan pustaka yang diperlukan dan menentukan tautan API. Juga, tunjukkan judul di mana Anda perlu memasukkan kunci API Anda.
const fetch = require('node-fetch');
const url="https://api.scrape-it.cloud/scrape/google?";
const headers = {
'x-api-key': 'YOUR-API-KEY'
};
Sekarang, mari kita tentukan pengaturan permintaan. Hanya satu yang diperlukan - "q", sisanya opsional. Anda dapat menemukan informasi lebih lanjut tentang pengaturan dalam dokumentasi kami.
const params = new URLSearchParams({
q: 'Coffee',
location: 'Austin, Texas, United States',
domain: 'google.com',
deviceType: 'desktop',
num: '100'
});
Dan terakhir, mari kita tampilkan semua hasilnya di konsol.
fetch(`${url}${params.toString()}`, { headers })
.then(response => response.text())
.then(data => console.log(data))
.catch(error => console.error(error));
Anda dapat dengan mudah menggunakan API, dan sebagai hasilnya, Anda mendapatkan data yang sama tanpa batasan apa pun atau memerlukan proksi.
Mengikis Google Maps menggunakan NodeJS
Setelah kita membahas penggalian data dari Google SERP, penggalian data dari Google Maps akan jauh lebih mudah bagi Anda karena tidak jauh berbeda.
Mengikis Google Maps Menggunakan Axios dan Cheerio
Seperti yang telah kita bahas sebelumnya, tidak mungkin untuk mengikis data dari Google SERP atau Maps menggunakan Axios dan Cheerio. Hal ini karena konten tersebut dibuat secara dinamis. Jika kita mencoba mengikis data menggunakan paket-paket NPM ini, kita akan mendapatkan dokumen HTML dengan skrip untuk menghasilkan konten halaman. Oleh karena itu, meskipun kita menulis skrip untuk mengikis data yang diperlukan, skrip tersebut tidak akan berfungsi.
Jadi, mari kita lanjutkan ke perpustakaan Puppeteer, yang memungkinkan kita untuk memanfaatkan browser tanpa kepala dan berinteraksi dengan konten dinamis. Dengan menggunakan Puppeteer, kita dapat mengatasi keterbatasan dan mengikis data dari Google Maps secara efektif.
Mengikis Google Maps menggunakan Puppeteer
Kali ini kita akan menggunakan Google Maps untuk mendapatkan daftar kafe di New York, peringkatnya, dan jumlah ulasannya. Kita akan menggunakan Puppeteer untuk meluncurkan peramban dan menavigasi ke halaman untuk melakukan hal ini. Bagian ini seperti contoh penggunaan Google SERP sehingga kita tidak akan membahasnya. Selain itu, tutup peramban dan akhiri fungsinya.
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://www.google.com/maps/search/cafe+near+New+York,+USA', { timeout: 60000 });
// Here will be information about data to scrape
await browser.close();
})();
Sekarang, yang perlu kita lakukan adalah mengidentifikasi tag induk yang dimiliki semua elemen dan mengulang setiap elemen, mengumpulkan data tentang peringkat dan jumlah ulasan yang dimilikinya.
const elements = await page.$$('div[role="article"]');
for (const element of elements) {
const title = await element.$eval('.fontHeadlineSmall', node => node.innerText);
const rating = await element.$eval('[role="img"][aria-label*=stars]', node => node.getAttribute('aria-label'));
console.log('Title:', title);
console.log('Rating:', rating);
console.log('');
}
Hasilnya, kami mendapatkan daftar nama kafe dan peringkatnya.
D:\scripts>node maps_pu.js
Title: Victory Sweet Shop/Victory Garden Cafe
Rating: 4.5 stars 341 Reviews
Title: New York Booze Cruise
Rating: 3.0 stars 4 Reviews
Title: In Common NYC Cafe
Rating: 4.8 stars 606 Reviews
Title: Cafe Select
Rating: 4.1 stars 845 Reviews
Title: Pause Cafe
Rating: 4.6 stars 887 Reviews
...
Setelah kita menjelajahi library, mari kita lihat betapa mudahnya mendapatkan semua data menggunakan Google Maps API.
Mengikis menggunakan Google Map API
Untuk menggunakan API web scraping, Anda memerlukan kunci API unik Anda, yang bisa Anda dapatkan secara gratis setelah mendaftar di situs web kami, bersama dengan sejumlah kredit gratis.
Sekarang mari kita hubungkan library ke proyek kita.
const ScrapeitSDK = require('@scrapeit-cloud/google-serp-api');
Selanjutnya, kita akan membuat fungsi untuk melakukan permintaan HTTP dan menambahkan kunci API. Untuk menghindari pengulangan contoh sebelumnya, mari kita ubah dan tambahkan blok try...catch untuk menangkap kesalahan yang mungkin terjadi selama eksekusi skrip.
(async() => {
const scrapeit = new ScrapeitSDK('YOUR-API-KEY');
try {
//Here will be a request
} catch(e) {
console.log(e.message);
}
})();
Sekarang yang tersisa bagi kita adalah membuat permintaan ke API Scrape-It.Cloud dan menampilkan data di layar.
const response = await scrapeit.scrape({
"keyword": "pizza",
"country": "US",
"num_results": 100,
"domain": "com"
});
console.log(response);
Hasilnya, kita akan mendapatkan respons JSON, yang akan menampilkan informasi tentang seratus item pertama dan beberapa informasi lainnya:
Karena proses sebelumnya terlalu mudah, dan kita memiliki data dalam jumlah besar, mari kita simpan dalam file CSV. Untuk melakukan ini, kita perlu menginstal paket NPM "csv-writer" yang belum pernah kita instal sebelumnya.
npm i csv-writer
Sekarang, mari kita tambahkan impor paket NPM ke dalam skrip.
const createCsvWriter = require('csv-writer').createObjectCsvWriter;
Sekarang yang perlu kita lakukan adalah membuat blok percobaan menjadi lebih efisien. Pertama, tentukan penulis CSV dengan pembatas titik koma setelah respons.
const csvWriter = createCsvWriter({
path: 'scraped_data.csv',
header: [
{ id: 'position', title: 'Position' },
{ id: 'title', title: 'Title' },
{ id: 'domain', title: 'Domain' },
{ id: 'url', title: 'URL' },
{ id: 'snippet', title: 'Snippet' }
],
fieldDelimiter: ';'
});
Kemudian ekstrak data yang relevan dari respons tersebut:
const data = response.organic.map(item => ({
position: item.position,
title: item.title,
domain: item.domain,
url: item.url,
snippet: item.snippet
}));
Dan pada akhirnya, tulis data ke file CSV dan tampilkan pesan tentang penyimpanan yang berhasil:
await csvWriter.writeRecords(data);
console.log('Data saved to CSV file.');
 Setelah menjalankan skrip ini, kami menghasilkan file CSV yang berisi informasi terperinci tentang seratus posisi pertama di Google Maps untuk kata kunci yang diminati.
Kode lengkap:
const ScrapeitSDK = require('@scrapeit-cloud/google-serp-api');
const createCsvWriter = require('csv-writer').createObjectCsvWriter;
(async() => {
const scrapeit = new ScrapeitSDK('YOUR-API-KEY');
try {
const response = await scrapeit.scrape({
"keyword": "pizza",
"country": "US",
"num_results": 100,
"domain": "com"
});
const csvWriter = createCsvWriter({
path: 'scraped_data.csv',
header: [
{ id: 'position', title: 'Position' },
{ id: 'title', title: 'Title' },
{ id: 'domain', title: 'Domain' },
{ id: 'url', title: 'URL' },
{ id: 'snippet', title: 'Snippet' }
],
fieldDelimiter: ';'
});
const data = response.organic.map(item => ({
position: item.position,
title: item.title,
domain: item.domain,
url: item.url,
snippet: item.snippet
}));
await csvWriter.writeRecords(data);
console.log('Data saved to CSV file.');
} catch(e) {
console.log(e.message);
}
})();
Jadi, kita dapat melihat bahwa menggunakan web scraping API membuat ekstraksi data dari Google Maps menjadi sangat mudah.
Tantangan dalam Web Scraping Google
Membuat scraper yang mengumpulkan semua data yang diperlukan tidaklah cukup. Penting juga untuk memastikan bahwa scraper tersebut menghindari kesulitan selama pengikisan. Anda harus mempertimbangkan untuk menyelesaikan beberapa tantangan terlebih dahulu dan membuat ketentuan untuk melewatinya jika muncul.
Mekanisme Anti-Gores
Banyak situs menggunakan berbagai cara untuk melindungi dari bot, termasuk scraper. Eksekusi permintaan yang terus-menerus ke situs memiliki beban yang terlalu besar pada sumber daya, sehingga mulai mengembalikan respons dengan penundaan dan kemudian rusak. Oleh karena itu, situs-situs mengambil langkah-langkah untuk melindungi dari permintaan yang sering dilakukan oleh bot. Sebagai contoh, salah satu cara untuk melindungi adalah perangkap khusus, elemen yang tidak terlihat pada halaman tetapi dalam kode halaman. Meneruskan elemen seperti itu dapat memblokir atau mengirim Anda ke halaman yang tidak ada.
CAPTCHA
Cara umum lainnya untuk melindungi dari bot adalah dengan menggunakan captcha. Untuk mengatasi masalah ini, Anda bisa menggunakan layanan khusus untuk memecahkan captcha atau API yang mengembalikan data yang sudah jadi.
Pembatasan Tarif
Seperti yang telah kami katakan, terlalu banyak kueri dapat merugikan situs target. Selain itu, kecepatan kueri bot jauh lebih cepat daripada kueri manusia. Oleh karena itu, layanan dapat dengan relatif mudah menentukan bahwa bot melakukan tindakan.Â
Demi keamanan scraper Anda dan agar tidak membahayakan sumber daya target, sebaiknya kurangi kecepatan scraping hingga setidaknya 30 permintaan per menit.
Mengubah Struktur HTML
Satu lagi tantangan selama melakukan web scraping adalah perubahan struktur situs. Anda telah melihatnya sebelumnya dengan contoh Google. Nama-nama kelas dan elemen dibuat secara otomatis, sehingga lebih sulit untuk mendapatkan datanya. Namun, struktur situs tetap tidak berubah. Kuncinya adalah menganalisisnya secara akurat dan menggunakannya secara efektif.
Pemblokiran IP
Pemblokiran IP adalah cara lain untuk melindungi dari bot dan spam. Jika tindakan Anda terlihat mencurigakan bagi sebuah situs web, Anda bisa saja diblokir. Itulah mengapa Anda mungkin perlu menggunakan proxy. Proksi bertindak sebagai perantara antara Anda dan situs web tujuan. Proksi memungkinkan Anda untuk mengakses sumber daya yang diblokir di negara Anda atau secara khusus untuk alamat IP Anda.
Kesimpulan dan pesan yang dapat diambil
Pengikisan data dari Google Maps bisa jadi rumit dan mudah, tergantung pada alat yang dipilih. Karena adanya tantangan seperti rendering JavaScript dan perlindungan bot yang kuat, mengembangkan pengikis khusus bisa jadi cukup sulit.
Selain itu, contoh hari ini menunjukkan bahwa tidak semua library cocok untuk melakukan scraping pada Google SERP dan Google Maps. Namun, meskipun demikian, kami juga menunjukkan cara untuk mengatasi tantangan-tantangan ini. Sebagai contoh, untuk mengatasi tantangan pembuatan struktur dinamis, kami menggunakan Puppeteer NPM. Selain itu, untuk pemula atau mereka yang lebih suka menghemat waktu dan tenaga dalam menangani captcha dan proxy, kami menunjukkan cara menggunakan API web scraping untuk mengekstrak data yang diinginkan.