Bagaimana cara melakukan scraping dengan Excel?

Penulis :

Bereaksi :

Komentar

Excel memungkinkan pengguna untuk mengekstrak data dari halaman web tanpa perlu menginstal alat eksternal apa pun. Power Query adalah cara yang paling mudah: cukup dengan beberapa klik saja untuk mengekstrak tabel HTML dan mengimpornya langsung ke lembar kerja. Untuk halaman yang lebih rumit, VBA mengambil alih dan memberimu kendali yang lebih besar.

Berikut ini cara melakukan web scraping dalam kedua kasus tersebut.

Antarmuka Excel yang menunjukkan proses ekstraksi data web melalui Power Query
Mengambil data dari web ke Excel dapat dilakukan dalam beberapa langkah. ©Christina untuk Alucare.fr

Bagaimana cara mengekstrak data dari halaman web ke Excel menggunakan Power Query?

Power Query adalah alat yang terintegrasi dengan Microsoft Excel (juga dikenal sebagai Permintaan Web (pada versi tertentu) yang berfungsi untuk mengimpor, memproses, dan menganalisis data web dari berbagai sumber. Secara konkret, kamu dapat:

  • Memulihkan data web dari sebuah situs web, berkas, atau basis data.
  • Membersihkan atau mengolah data tersebut sebelum menganalisisnya.
  • Memuat data secara otomatis di dalam sebuah lembar kerja agar timmu dapat bekerja berdasarkan informasi terbaru.

Ini adalah metode yang paling sederhana untuk mengekstrak data dari web ke Excel, tanpa perlu menulis satu baris kode pun. Berikut adalah empat langkah yang harus diikuti.

Langkah 1: Akses alat impor

Di Microsoft Excel, masuk ke dalam’tab Data, lalu klik Mendapatkan data dan terakhir di Dari web.

Buka lembar kerja Excel baru, pilih Data, lalu Dapatkan Data, kemudian Dari Web.
Buka lembar kerja Excel baru, pilih “Data”, lalu “Impor Data”, kemudian “Dari Web”. ©Christina untuk Alucare.fr

Langkah 2: Tempelkan URL halaman web tersebut

Tempelkan’URL situs web atau halaman yang berisi informasi yang ingin kamu ambil, lalu klik "Konfirmasi".

Tempelkan URL situs atau halaman tujuan ke dalam Power Query.
Tempelkan alamat situs web atau halaman tujuan. ©Christina untuk Alucare.fr

Langkah 3: Menavigasi di "Browser"

Sebuah jendela terbuka dan menampilkan tabel yang terdeteksi. Power Query secara otomatis mendeteksi tabel yang ada dalam kode halaman. Pilih tabel yang kamu inginkan, misalnya sebuah tabel HTML, untuk mendapatkan kumpulan data yang bersih.

Pilih tabel atau data yang terdeteksi di Power Query Navigator.
Pilih tabel atau data. ©Christina untuk Alucare.fr

Langkah 4: Memuat data ke dalam lembar Excel

Klik pada Muat untuk mengimpor data langsung ke lembar kerja kamu. Kamu akan segera mendapatkan tabel yang rapi dan siap dianalisis.

Klik "Unggah" untuk mengimpor data web ke lembar kerja Excel.
Muat untuk mengimpor data. ©Christina untuk Alucare.fr

Untuk mendapatkan informasi terbaru dari situs ini, lakukan klik kanan di tabelmu, lalu klik Perbarui. Dengan demikian, Anda dapat menjaga agar data tetap terkini hampir secara real-time.

Hal yang perlu kamu ketahui sebelum memulainya

Power Query hanya berfungsi pada halaman HTML statis. Jika tabel tidak muncul di Penjelajah, hal itu sering kali disebabkan karena halaman tersebut memuat isinya dalam JavaScript : situs-situs di React, Angular, atau data yang muncul setelah menggulir layar.

Dalam hal ini, ada dua pilihan yang bisa kamu ambil. Kamu bisa langsung menargetkan’API yang dipanggil oleh situs web di latar belakang, yang sering terlihat di alat pengembangan browser. Jika tidak, gunakan metode VBA atau alat khusus seperti Octoparse.

Bagaimana cara melakukan scraping dengan VBA dan makro Excel?

VBA (Visual Basic for Applications) adalah bahasa pemrograman yang terintegrasi dalam Microsoft Excel dan perangkat lunak lainnya Microsoft Office. Fitur ini memungkinkanmu untuk:

  • Mengotomatiskan tugas-tugas yang berulang di Excel.
  • Membuat makro, program-program kecil yang dijalankan langsung di dalam berkasmu.
  • Membuka halaman web, mengekstrak teks atau tabel, lalu menempelkannya secara otomatis ke Excel.

Ini lebih bersifat teknis daripada Power Query, tapi kamu mendapat kontrol lanjutan : navigasi antar halaman, pengelolaan sesi dengan otentikasi, serta pengumpulan data yang tidak terdeteksi oleh Power Query.

Berikut adalah contoh makro yang mengambil tabel HTML dari sebuah halaman:

Sub ScraperTableau()

 ' Deklarasi objek
    Dim http As Object, html As Object
    Dim tableau As Object, ligne As Object, cellule As Object
    Dim i As Long, j As Long

 ' URL halaman yang akan di-scrape
    Dim url As String
    url = "https://www.w3schools.com/html/html_tables.asp"
 
 ' Pembuatan objek HTTP
    Set http = CreateObject("MSXML2.XMLHTTP")
    http.Open "GET", url, False
    http.Send

 ' Memuat konten HTML
    Set html = CreateObject("HTMLFile")
    html.body.innerHTML = http.responseText

    ' Memilih tabel pertama yang ditemukan
    Set tabel = html.getElementsByTagName("table")(0)

 ' Mengulangi baris dan kolom
    For i = 0 To tabel.Rows.Length - 1
        For j = 0 To tableau.Rows(i).Cells.Length - 1
 Cells(i + 1, j + 1).Value = tableau.Rows(i).Cells(j).innerText
 Next j
    Next i

End Sub

Penjelasan kode:

  • Dim http As Object, html As Object : membuat objek untuk mengelola permintaan web dan konten HTML.
  • url = "..." : URL situs web yang akan di-scrape.
  • http.Open "GET", url, False : mengirimkan permintaan HTTP untuk memuat halaman.
  • html.body.innerHTML = http.responseText : menyisipkan respons HTML ke dalam objek yang dapat dimanipulasi.
  • Set tabel = html.getElementsByTagName("table")(0) : ditujukan kepada Tabel pertama dari halaman tersebut.
  • Ganda Untuk i … Untuk j … : membaca setiap sel dalam tabel dan menempelkannya ke sel yang sesuai di Excel.

Perhatikan batasan penting ini. Kode ini mengirimkan sebuah permintaan HTTP sederhana melalui MSXML2.XMLHTTP dan hanya mengambil kode HTML statis yang dikirimkan oleh server. Ia tidak dapat menjalankan JavaScript satu halaman. Di situs modern yang memuat data webnya secara dinamis, kamu akan mendapatkan hasil yang kosong. Untuk kasus-kasus seperti ini, kamu perlu mengendalikan browser yang sebenarnya, misalnya dengan Selenium dan Python.

Kapan sebaiknya menggunakan VBA untuk scraping:

  • Pada halaman yang memerlukan otentikasi (nama pengguna dan kata sandi).
  • Ketika kamu harus mengambil beberapa tabel dalam satu halaman yang sama atau berpindah antar beberapa halaman.
  • Untuk mengotomatiskan pengumpulan data harian dengan satu tombol atau pemicu yang telah diprogram.

Power Query vs. VBA: Metode mana yang sebaiknya dipilih untuk melakukan scraping dengan Excel?

Pilihan antara Power Query dan VBA Tergantung pada kebutuhanmu dan tingkat kerumitan situs yang menjadi sasaran. Berikut ini perbandingan singkat untuk membantumu mengambil keputusan.

Kriteria Power Query VBA
Kemudahan penggunaan Sangat sederhana, tidak ada kode Kompleks, memerlukan kode
Fleksibilitas Terbatas pada data tabel Sangat fleksibel, kontrol penuh
Kurva pembelajaran Rendah Tinggi
Jenis halaman Halaman HTML hanya data statis Permintaan HTTP, halaman yang memerlukan otentikasi
Kasus penggunaan Ekstraksi cepat tabel-tabel Otomatisasi tingkat lanjut, kebutuhan khusus

Dalam praktiknya, Power Query tetap menjadi pilihan terbaik bagi pemula dan untuk sebagian besar tugas sehari-hari: hanya perlu empat langkah untuk mengimpor data web ke dalam Microsoft Excel, tanpa menulis satu baris kode pun.

Pilih VBA hanya jika kamu memiliki kebutuhan tertentu yang Power Query tidak mencakup: halaman yang rumit, otentikasi, otomatisasi tingkat lanjut. Untuk hal-hal lainnya, Power Query akan membuatmu menghemat waktu.

Apa saja alternatif Excel untuk web scraping?

Excel memang tetap praktis, tetapi cepat menunjukkan keterbatasannya saat menangani volume data web yang besar. Untuk proyek yang lebih ambisius, ada alat-alat lain yang mengambil alih. Beberapa di antaranya berfungsi tanpa kode, sementara yang lain memerlukan sedikit keterampilan pemrograman. Kamu juga akan menemukan alat gratis sesuai kebutuhanmu.

Alat tanpa kode dan dengan sedikit kode

Alat-alat ini memungkinkan pengumpulan data web tanpa menulis satu baris kode pun. Kamu mengonfigurasi targetmu melalui antarmuka visual, lalu mengekspor hasilnya ke format CSV untuk membukanya langsung di Excel. Hal ini berguna untuk pemantauan pemasaran atau memantau berbagai sumber di internet.

  • Bright Data : solusi profesional, tangguh, dan dirancang khusus untuk memenuhi kebutuhan besar sebuah perusahaan.
  • Octoparse a pengikis web tanpa kode dengan antarmuka yang sederhana, sangat cocok untuk pemula, dan dapat diekspor ke Excel hanya dengan beberapa klik.

Antarmuka Bright Data, infrastruktur pengumpulan data web untuk AI dan BI
Bright Data adalah infrastruktur data web tak terbatas untuk AI dan BI. ©Christina untuk Alucare.fr

Bahasa pemrograman

Sebuah bahasa seperti Python memungkinkanmu untuk melakukan scraping situs web dengan sangat fleksibel. Kamu dapat menjelajahi beberapa halaman secara otomatis, mengelola situs dengan otentikasi, dan memastikan pengumpulan data yang tidak mungkin dilakukan dengan Power Query. Hal ini sangat berguna bagi perusahaan yang memantau pesaingnya atau menganalisis jaringan distribusinya.

Untuk proyek yang rumit, pilihlah web scraping dengan Python dan BeautifulSoup. Ini adalah metode yang paling efektif ketika pengumpulan data dilakukan secara rutin atau dalam skala besar.

Berikut ini adalah perbandingan singkat mengenai solusi-solusi yang lebih unggul daripada Excel dalam hal kemampuan, fleksibilitas, dan kemudahan penggunaan.

Alat / Bahasa Biaya Kompleksitas kuat
Excel (Power Query) Tergantung pada paketnya Office Mudah Dasar
Excel (VBA) Gratis (dengan lisensi Office) Berarti Berarti
Bright Data Langganan bulanan Berarti Sangat tinggi
Octoparse Langganan bulanan Mudah Berarti
Python (BeautifulSoup, Scrapy) Gratis Tinggi Sangat tinggi

Apa saja alat dan sumber daya yang dapat membantu melakukan scraping dengan Excel?

Untuk mempelajari lebih lanjut daripada Power Query dan VBA, kamu bisa menggabungkan Excel dengan alat pihak ketiga. Scraper-scraper ini mengekspor data ke CSV, sebuah format yang dapat dibuka langsung oleh Excel. Dengan demikian, Anda akan mendapatkan kumpulan data yang rapi dan siap dianalisis, tanpa perlu menulis satu baris kode pun.

Berikut ini dua pilihan yang berguna sesuai kebutuhanmu:

  • A ekstensi pengikisan web untuk perambanmu, seperti Web Scraper pada Chrome Di mana Firefox. Ini sangat ideal untuk mengekstrak data dari sebuah situs web hanya dengan beberapa klik, tanpa perlu menginstal perangkat lunak yang berat.
  • itu scraping web dengan Python. Metode ini memang memerlukan sedikit kode, tetapi dapat menangani halaman yang rumit bahwa Power Query tidak terdeteksi.

Secara praktis, pilihlah’ekstensi untuk kebutuhan sesekali dan mendesak. Lanjutkan ke Python segera setelah kamu ingin mengotomatiskan pengumpulan data secara rutin atau memproses volume informasi yang besar.

Apakah web scraping legal?

itu Web scraping adalah legal. dengan syarat-syarat tertentu. Semuanya bergantung pada Ketentuan Penggunaan Situs, hak kekayaan intelektual, dan cara kamu menggunakan data yang dikumpulkan.

Dalam praktiknya, data publik biasanya dapat dipulihkan. Namun, begitu kamu menyentuh data pribadi (nama, email, profil), kamu mengisi kolom RGPD, meskipun informasi tersebut dapat diakses secara umum di internet.

Sebelum melakukan scraping pada sebuah situs, periksa dua hal sederhana berikut ini:

  • File robots.txt dari situs tersebut, yang menunjukkan halaman-halaman mana saja yang boleh atau tidak boleh dijelajahi oleh robot.
  • Itu syarat dan ketentuan penggunaan, yang terkadang secara eksplisit melarang pengumpulan data secara otomatis.

Agar tetap tenang, batasi diri Anda pada data non-pribadi dan sesuaikan dengan ritme situs agar tidak membebani situs tersebut.

👍Pendapat Anda
Artikel ini informatif
Artikel ini objektif
Artikel ini menjawab pertanyaan saya
Kontennya selalu diperbarui
🔍 Menemukan kesalahan? Beritahu kami di mana!

Suka? Bagikan!

Konten ini aslinya adalah di Perancis (Lihat editor tepat di bawah). Buku ini telah diterjemahkan dan dikoreksi dalam berbagai bahasa menggunakan Deepl dan/atau Google Translate API untuk menawarkan bantuan di sebanyak mungkin negara. Penerjemahan ini menghabiskan biaya beberapa ribu euro per bulan. Jika terjemahan ini tidak 100 % sempurna, tinggalkan komentar agar kami dapat memperbaikinya. Jika Anda tertarik untuk mengoreksi dan meningkatkan kualitas artikel yang diterjemahkan, silakan kirim email kepada kami menggunakan formulir kontak!
Kami menghargai umpan balik Anda untuk meningkatkan konten kami. Jika Anda ingin memberikan saran perbaikan, silakan gunakan formulir kontak kami atau tinggalkan komentar di bawah ini. Komentar Anda selalu membantu kami meningkatkan kualitas situs web kami Alucare.fr


Alucare adalah media independen. Dukung kami dengan menambahkan kami ke favorit Google News Anda:

Kirimkan komentar di forum diskusi