VBA Web Scrapping ke Excel
โก Ringkasan Cerdas
Web scrapping dengan VBA misalnyatracMengimpor data dari halaman web HTML langsung ke Excel, menggunakan otomatisasi Internet Explorer dan Microsoft Pustaka Objek HTML untuk menavigasi situs, membaca tabel HTML, dan menulis nilai yang dikumpulkan ke dalam sel lembar kerja.

Apa itu Data Scrap?ping?
Data scrapping adalah teknik yang membantu mantantracMengambil informasi yang diinginkan dari halaman web HTML ke file lokal di komputer Anda. Biasanya, file lokal tersebut berupa file Excel, file Word, atau file lainnya. Microsoft Aplikasi perkantoran. Aplikasi ini membantu menyalurkan informasi penting dari halaman web.
Data scrapping Hal ini menjadi berharga dalam proyek berbasis riset yang bergantung pada internet setiap hari. Sebagai ilustrasi, pertimbangkan seorang pedagang harian yang menjalankan makro Excel untuk mengambil informasi pasar dari situs web keuangan ke dalam lembar Excel menggunakan VBA.
Cara Mempersiapkan Makro Excel Sebelum Pengambilan Dataping (Internet Explorer)
Ada beberapa prasyarat yang harus dilakukan pada file makro Excel sebelum memulai pengambilan data.ping proses.
Persyaratan-persyaratan tersebut adalah sebagai berikut:
Langkah 1) Buka makro berbasis Excel dan akses opsi Pengembang di Excel.
Langkah 2) Pilih opsi Visual Basic di bawah pita Pengembang.
Langkah 3) Masukkan modul baru.
Langkah 4) Menginisialisasi subrutin baru.
Sub test() End Sub
Modul tersebut akan menghasilkan hasil sebagai berikut:
Langkah 5) Akses opsi Referensi di bawah tab Alat dan rujuk ke Microsoft Perpustakaan Objek HTML dan Microsoft Kontrol Internet.
File-file berikut harus dirujuk ke modul ini, karena file-file ini membantu membuka Internet Explorer dan memfasilitasi pembuatan skrip makro.
Sekarang file Excel sudah siap untuk berinteraksi dengan Internet Explorer. Langkah selanjutnya adalah memasukkan skrip makro yang mempermudah pengambilan data.ping dalam format HTML.
Cara Membuka Internet Explorer Menggunakan Excel VBA
Langkah 1) Inisialisasi variabel dalam subrutin seperti yang ditunjukkan di bawah ini.
Sub test() Dim ie As New InternetExplorer Dim doc As New HTMLDocument
Langkah 2) Untuk membuka Internet Explorer menggunakan VBA, tulis ie.Visible = True dan tekan F5.
Sub test() Dim ie As New InternetExplorer Dim doc As New HTMLDocument ie.Visible = True
Modul tersebut akan terlihat seperti berikut:
Cara Membuka Situs Web di Internet Explorer Menggunakan VBA
Berikut langkah-langkah untuk membuka situs web di Internet Explorer menggunakan VBA.
Langkah 1) Setelah Anda dapat mengakses Internet Explorer menggunakan Excel VBA, langkah selanjutnya adalah mengakses situs web menggunakan VBA. Hal ini difasilitasi oleh atribut Navigate, di mana URL dilewatkan sebagai tanda kutip ganda. Ikuti langkah-langkah yang ditunjukkan.
Sub test() Dim ie As New InternetExplorer Dim doc As New HTMLDocument Dim ecoll As Object ie.Visible = True ie.Navigate "https://demo.guru99.com/test/web-table-element.php" Do DoEvents Loop Until ie.readyState = READYSTATE_COMPLETE
Langkah 2) Tekan F5 untuk menjalankan makro. Halaman web berikut akan terbuka seperti yang ditunjukkan.
Sekarang makro Excel siap untuk melakukan scraping.ping fungsi. Langkah selanjutnya menunjukkan bagaimana informasi tersebut dapat diekstraksi.tracDiambil dari Internet Explorer menggunakan VBA.
Cara Mengambil Informasi dari Situs Web Menggunakan VBA
Misalkan seorang day trader ingin mengakses data dari situs web setiap hari. Setiap kali day trader mengklik tombol, data pasar harus secara otomatis ditarik ke dalam Excel.
Dari situs web di atas, perlu untuk memeriksa suatu elemen dan mengamati bagaimana data tersebut terstruktur.
Langkah 1) Akses kode sumber HTML di bawah ini dengan menekan Control + . Shift + Saya.
<table class="datatable">
<thead>
<tr>
<th>Company</th>
<th>Group</th>
<th>Pre Close (Rs)</th>
<th>Current Price (Rs)</th>
<th>% Change</th>
</tr>
Kode sumbernya akan seperti berikut:
Sub test() Dim ie As New InternetExplorer Dim doc As New HTMLDocument Dim ecoll As Object ie.Visible = True ie.Navigate "https://demo.guru99.com/test/web-table-element.php" Do DoEvents Loop Until ie.readyState = READYSTATE_COMPLETE Set doc = ie.document
Seperti yang Anda lihat, data tersebut terstruktur sebagai satu tabel HTML tunggal. Oleh karena itu, untuk mengambil seluruh data dari tabel HTML, Anda harus mendesain makro yang mengumpulkan data sebagai sebuah koleksi.
Kemudian, koleksi tersebut disalin ke Excel. Untuk mendapatkan hasil yang diinginkan, ikuti langkah-langkah di bawah ini.
Langkah 2) Inisialisasi dokumen HTML di dalam subrutin.
Langkah 3) Inisialisasi elemen koleksi yang ada dalam dokumen HTML.
Sub test() Dim ie As New InternetExplorer Dim doc As New HTMLDocument Dim ecoll As Object ie.Visible = True ie.Navigate "https://demo.guru99.com/test/web-table-element.php" Do DoEvents Loop Until ie.readyState = READYSTATE_COMPLETE Set doc = ie.document Set ecoll = doc.getElementsByTagName("table")
Langkah 4) Inisialisasi sel-sel lembar Excel dengan bantuan perulangan bersarang seperti yang ditunjukkan.
Sub test() Dim ie As New InternetExplorer Dim doc As New HTMLDocument Dim ecoll As Object ie.Visible = True ie.Navigate "https://demo.guru99.com/test/web-table-element.php" Do DoEvents Loop Until ie.readyState = READYSTATE_COMPLETE Set doc = ie.document Set ecoll = doc.getElementsByTagName("table")
Excel dapat diinisialisasi menggunakan atribut Range atau atribut Cells pada lembar kerja. Untuk mengurangi kompleksitas skrip VBA, data koleksi diinisialisasi ke atribut Cells pada Lembar 1 di buku kerja.
Setelah skrip makro siap, tetapkan subrutin ke tombol Excel dan keluar dari modul VBA. Beri label tombol tersebut sebagai Refresh atau nama lain yang sesuai. Untuk contoh ini, tombol tersebut diberi label Refresh.
Langkah 5) Tekan tombol Refresh untuk mendapatkan hasil seperti di bawah ini.
Langkah 6) Bandingkan hasil di Excel dengan hasil di Internet Explorer.











