
Ethan Collins
Pattern Recognition Specialist
Apakah Anda pernah penasaran bagaimana para ilmuwan data mengumpulkan sejumlah besar data online untuk penelitian, pemasaran, dan analisis? Web scraping di R adalah kemampuan yang ampuh yang dapat mengubah konten online menjadi dataset yang berharga, memungkinkan pengambilan keputusan berbasis data dan wawasan yang lebih dalam. Jadi, apa yang membuat web scraping menantang, dan bagaimana R dapat membantu? Dalam panduan ini, kita akan membahas pengaturan lingkungan R Anda, mengekstrak data dari halaman web, menangani skenario yang lebih kompleks seperti konten dinamis, dan diakhiri dengan praktik terbaik untuk tetap etis dan patuh.
R adalah bahasa dan lingkungan yang terutama digunakan untuk analisis statistik dan visualisasi data. Awalnya populer di kalangan ahli statistik di akademisi, R telah memperluas basis penggunanya kepada para peneliti di berbagai bidang. Dengan meningkatnya big data, para profesional dari latar belakang komputasi dan teknik telah berkontribusi secara signifikan untuk meningkatkan mesin komputasi, kinerja, dan ekosistem R, mendorong pengembangannya ke depan.
Sebagai alat terintegrasi untuk analisis statistik dan tampilan grafis, R serbaguna, berjalan dengan lancar di UNIX, Windows, dan macOS. Ini memiliki sistem bantuan yang kuat dan ramah pengguna dan dirancang untuk ilmu data, menawarkan serangkaian pustaka yang berfokus pada data yang ideal untuk tugas-tugas seperti web scraping.
Namun, terlepas dari bahasa pemrograman yang Anda gunakan untuk web scraping, penting untuk mematuhi protokol robots.txt situs web. Ditemukan di direktori root sebagian besar situs web, file ini menentukan halaman mana yang dapat dan tidak dapat di-crawl. Mengikuti protokol ini membantu menghindari perselisihan yang tidak perlu dengan pemilik situs web.
Sebelum menggunakan R untuk web scraping, pastikan Anda memiliki lingkungan R yang dikonfigurasi dengan benar:
Unduh dan Instal R:
Kunjungi situs web resmi Proyek R dan unduh paket instalasi yang sesuai untuk sistem operasi Anda.
Pilih IDE untuk R:
Pilih lingkungan pengembangan untuk menjalankan kode R:
Jika Menggunakan PyCharm:
Anda perlu menginstal plugin R Language for IntelliJ untuk menjalankan kode R di dalam PyCharm.
Untuk panduan ini, kita akan menggunakan PyCharm untuk membuat proyek web scraping R pertama kita. Mulailah dengan membuka PyCharm dan membuat proyek baru.
Mari kita ambil latihan pertama dari ScrapingClub sebagai contoh untuk menunjukkan bagaimana menggunakan R untuk mengambil gambar produk, judul, harga, dan deskripsi:
rvestrvest adalah paket R yang dirancang untuk membantu web scraping. Ini menyederhanakan tugas web scraping umum dan bekerja dengan mulus dengan paket magrittr untuk menyediakan pipeline yang mudah digunakan untuk mengekstrak data. Paket ini terinspirasi oleh pustaka seperti Beautiful Soup dan RoboBrowser.
Untuk menginstal rvest di PyCharm, gunakan R Console yang terletak di bagian bawah antarmuka. Masukkan perintah berikut:
install.packages("rvest")
Sebelum instalasi dimulai, PyCharm akan meminta Anda untuk memilih cermin CRAN (sumber paket). Pilih yang terdekat dengan lokasi Anda untuk unduhan yang lebih cepat. Setelah terinstal, Anda siap untuk mulai melakukan scraping!
Paket rvest menyediakan fungsi read_html(), yang mengambil konten HTML dari halaman web ketika diberikan URL-nya. Berikut cara Anda dapat menggunakannya untuk mengambil HTML dari situs web target:
library(rvest)
url <- "https://scrapingclub.com/exercise/detail_basic/"
webpage <- rvest::read_html(url)
print(webpage)
Menjalankan kode ini akan menghasilkan kode sumber HTML halaman di R Console, memberi Anda tampilan yang jelas tentang struktur halaman web. Ini adalah dasar untuk mengekstrak elemen spesifik seperti detail produk.
Untuk mengekstrak data spesifik dari halaman web, kita pertama-tama perlu memahami strukturnya. Dengan menggunakan alat pengembang browser Anda, Anda dapat memeriksa elemen dan mengidentifikasi di mana data yang diinginkan berada. Berikut uraian elemen target pada halaman contoh:
img dengan kelas card-img-top.<h3>.<h4>.<p> dengan kelas card-description.Paket rvest di R menyediakan alat yang kuat untuk menganalisis dan mengekstrak konten dari dokumen HTML. Berikut adalah beberapa fungsi kunci yang digunakan untuk web scraping:
html_nodes(): Memilih semua node (tag HTML) dari dokumen yang cocok dengan pemilih CSS yang ditentukan. Ini memungkinkan Anda untuk memfilter konten secara efektif menggunakan sintaks seperti CSS.html_attr(): Mengekstrak nilai atribut yang ditentukan dari node HTML yang dipilih. Misalnya, Anda dapat mengambil atribut src untuk gambar atau href untuk tautan.html_text(): Mengekstrak konten teks biasa di dalam node HTML yang dipilih, mengabaikan tag HTML.Berikut cara Anda dapat menggunakan fungsi ini untuk mengambil data dari halaman sampel:
library(rvest)
# URL dari halaman web target
url <- "https://scrapingclub.com/exercise/detail_basic/"
webpage <- rvest::read_html(url)
# Mengekstrak data
img_src <- webpage %>% html_nodes("img.card-img-top") %>% html_attr("src") # Sumber gambar
title <- webpage %>% html_nodes("h3") %>% html_text() # Judul produk
price <- webpage %>% html_nodes("h4") %>% html_text() # Harga produk
description <- webpage %>% html_nodes("p.card-description") %>% html_text() # Deskripsi produk
# Menampilkan data yang diekstrak
print(img_src)
print(title)
print(price)
print(description)
Penjelasan Kode
read_html() mengambil seluruh struktur HTML dari halaman web target.html_nodes(), Anda dapat menargetkan elemen spesifik seperti gambar, judul, dan deskripsi.html_attr() mengekstrak nilai atribut seperti src untuk gambar, sedangkan html_text() mengambil konten teks di dalam tag.Contoh Output
Saat Anda menjalankan kode di atas, data yang diekstrak akan ditampilkan di konsol R Anda. Misalnya:
/images/example.jpg.Ini memungkinkan Anda untuk secara efisien mengumpulkan data terstruktur dari halaman web, siap untuk analisis atau penyimpanan lebih lanjut.
Menggunakan rvest, Anda dapat mengotomatiskan proses web scraping untuk berbagai kebutuhan data terstruktur, memastikan output yang bersih dan dapat ditindaklanjuti.
Dalam skenario pengambilan data dunia nyata, prosesnya jarang semudah demonstrasi dalam artikel ini. Anda sering kali akan menemukan berbagai tantangan bot, seperti reCAPTCHA yang banyak digunakan dan sistem serupa.
Sistem ini dirancang untuk memvalidasi apakah permintaan itu sah dengan menerapkan langkah-langkah seperti:
Semua langkah ini dapat secara signifikan menghambat upaya scraping Anda. Namun, tidak perlu khawatir. Setiap tantangan bot ini dapat diselesaikan secara efisien dengan CapSolver.
CapSolver menggunakan teknologi Auto Web Unblock yang didukung AI, mampu memecahkan bahkan tantangan CAPTCHA yang paling kompleks hanya dalam hitungan detik. Ini mengotomatiskan tugas seperti mendekode JavaScript yang dienkripsi, menghasilkan sidik jari browser yang valid, dan memecahkan teka-teki CAPTCHA tingkat lanjut—memastikan pengumpulan data tanpa gangguan.
Klaim Kode Bonus Anda untuk solusi captcha terbaik; CapSolver: WEBS. Setelah menukarkannya, Anda akan mendapatkan bonus tambahan 5% setelah setiap pengisian ulang, Tidak Terbatas
CapSolver menyediakan SDK dalam banyak bahasa pemrograman, memungkinkan Anda untuk mengintegrasikan fiturnya secara mulus ke dalam proyek Anda. Baik Anda menggunakan Python, R, Node.js, atau alat lain, CapSolver menyederhanakan proses implementasi.
Dokumentasi CapSolver resmi menawarkan panduan dan contoh terperinci untuk membantu Anda memulai. Anda dapat menjelajahi kemampuan dan opsi konfigurasi tambahan di sana, memastikan pengalaman scraping yang lancar dan efisien.
Web scraping dengan R membuka dunia kemungkinan untuk pengumpulan dan analisis data, mengubah konten online yang tidak terstruktur menjadi wawasan yang dapat ditindaklanjuti. Dengan alat seperti rvest untuk ekstraksi data yang efisien dan layanan seperti CapSolver untuk mengatasi tantangan scraping, Anda dapat merampingkan bahkan proyek scraping yang paling kompleks.
Namun, selalu ingat pentingnya praktik scraping yang etis. Mematuhi pedoman situs web, menghormati file robots.txt, dan memastikan kepatuhan terhadap standar hukum sangat penting untuk menjaga pendekatan yang bertanggung jawab dan profesional terhadap pengumpulan data.
Dengan pengetahuan dan alat yang dibagikan dalam panduan ini, Anda siap untuk memulai perjalanan web scraping Anda dengan R. Saat Anda mendapatkan lebih banyak pengalaman, Anda akan menemukan cara untuk menangani berbagai skenario, memperluas toolkit scraping Anda, dan membuka potensi penuh pengambilan keputusan berbasis data.
Pelajari apa yang memicu Kesalahan Cloudflare 1020 Akses Ditolak, bagaimana Firewall Aplikasi Web dan deteksi bot bekerja, dan bagaimana pengembang dapat mengurangi kesalahan positif dalam alur kerja otomatis yang sah.

Pelajari cara menggunakan template CapSolver n8n untuk memantau halaman produk yang dilindungi oleh AWS WAF, menyelesaikan tantangan, mengekstrak harga, membandingkan perubahan, dan memicu notifikasi secara otomatis.
