Pengikisan Web dengan VBA
Apa itu Pengikisan Data?
Pengikisan data adalah teknik yang membantu mengekstraksi informasi yang diinginkan dari halaman web HTML ke file lokal yang ada di mesin lokal Anda. Biasanya, file lokal bisa berhubungan dengan file excel, file word, atau apa saja Microsoft aplikasi kantor. Ini membantu dalam menyalurkan informasi penting dari halaman web.
Pengikisan data menjadi sederhana ketika mengerjakan proyek berbasis penelitian setiap hari, dan proyek semacam itu sepenuhnya bergantung pada internet dan situs web. Untuk mengilustrasikan topik ini lebih lanjut, mari kita ambil contoh seorang day trader yang menjalankan makro excel untuk menarik informasi pasar dari situs web keuangan ke dalam lembar excel menggunakan VBA.
Bagaimana cara mempersiapkan Makro Excel sebelum melakukan Data Scraping menggunakan Internet explorer?
Ada prasyarat tertentu yang harus dipenuhi pada file makro excel sebelum masuk ke proses data scraping di excel.
Prasyarat tersebut adalah sebagai berikut: –
Langkah 1) Buka Makro berbasis Excel dan akses opsi pengembang excel.
Langkah 2) Pilih opsi Visual Basic di bawah pita Pengembang.
Langkah 3) Masukkan modul baru.
Langkah 4) Inisialisasi subrutin baru
Sub test() End sub
Modul akan menghasilkan sebagai berikut: –
Langkah 5) Akses opsi referensi di bawah tab alat dan referensi Microsoft Perpustakaan Objek HTML dan Microsoft kontrol internet.
Berkas-berkas berikut ini harus dirujuk ke modul yang membantu dalam membuka Internet Explorer dan memfasilitasi pengembangan skrip makro.
Sekarang file Excel siap berinteraksi dengan internet explorer. Langkah selanjutnya adalah memasukkan skrip makro yang akan memfasilitasi pengumpulan data dalam HTML.
Bagaimana Cara Membuka Internet Explorer menggunakan Excel VBA?
Langkah 1) Inisialisasi variabel dalam subrutin seperti yang ditampilkan di bawah ini
Sub test() Dim ie As New InternetExplorer Dim doc As New HTMLDocument
Langkah 2) Untuk membuka internet explorer menggunakan VBA, tulis yaitu terlihat=benar dan tekan F5.
Sub test() Dim ie As New InternetExplorer Dim doc As New HTMLDocument Ie.visible=true
Modulnya akan terlihat sebagai berikut: –
Bagaimana Cara Membuka Situs Web di Internet Explorer menggunakan VBA?
Berikut langkah-langkah Membuka Website di Internet explorer menggunakan VBA
Langkah 1) Setelah Anda dapat mengakses Internet Explorer menggunakan Excel VBA, langkah berikutnya adalah mengakses situs web menggunakan VBA. Hal ini difasilitasi oleh Navigate Attribute, di mana URL harus ditulis sebagai tanda kutip ganda dalam atribut. Ikuti langkah-langkah berikut seperti yang ditampilkan.
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 ditampilkan
Sekarang, makro excel siap untuk menjalankan fungsi pengikisan. Langkah selanjutnya akan menampilkan bagaimana informasi dapat diekstraksi dari internet explorer menggunakan VBA.
Bagaimana cara mengikis informasi dari situs web menggunakan VBA?
Misalkan day trader ingin mengakses data dari situs web setiap hari. Setiap kali trader harian menekan tombol klik, data pasar akan ditarik secara otomatis ke dalam excel.
Dari website di atas, perlu dilakukan pemeriksaan suatu elemen dan mengamati bagaimana data disusun.
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 adalah sebagai 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 dapat dilihat bahwa data disusun sebagai satu Tabel HTML. Oleh karena itu, untuk menarik seluruh data dari tabel html, diperlukan perancangan makro yang mengumpulkan data dalam bentuk kumpulan.
Koleksinya kemudian akan ditempelkan ke excel. Untuk mencapai, hasil yang diinginkan, lakukan langkah-langkah yang disebutkan di bawah ini: –
Langkah 2) Inisialisasi dokumen Html di subrutin
Modul VBA akan terlihat seperti berikut: –
Langkah 3) Inisialisasi elemen koleksi yang ada dalam dokumen HTML
Modul VBA akan terlihat 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 Set ecoll = doc.getElementsByTagName("table")
Langkah 4) Inisialisasi sel lembar excel dengan bantuan loop bersarang seperti yang ditunjukkan
Modul VBA akan terlihat 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 Set ecoll = doc.getElementsByTagName("table")
Excel dapat diinisialisasi menggunakan atribut range dari lembar excel atau melalui atribut sel dari lembar excel. Untuk mengurangi kompleksitas skrip VBA, data koleksi diinisialisasi ke atribut sel excel dari lembar 1 yang ada di buku kerja.
Setelah skrip makro siap, teruskan dan tetapkan tombol subrutin ke excel dan keluar dari modul VBA. Beri label tombol sebagai penyegaran atau nama apa pun yang sesuai yang dapat diinisialisasi ke tombol tersebut. Untuk contoh ini, tombol diinisialisasi sebagai penyegaran.
Langkah 5) Tekan tombol segarkan untuk mendapatkan keluaran yang disebutkan di bawah
Langkah 6) Bandingkan hasilnya di excel dengan hasil di internet explorer
Ringkasan
- Pengikisan data memungkinkan pengguna untuk mengikis hanya informasi yang diinginkan pengguna. Untuk menemukan alat terbaik untuk tujuan ini, lihat daftar alat pengikis web ini yang dapat membantu Anda mengekstrak informasi yang diinginkan secara efisien dari berbagai situs web.
- Pengikisan dapat dilakukan dengan menggunakan internet explorer.
- Proses scraping lebih lambat pada kasus internet explorer; namun, ini memberikan hasil yang diinginkan kepada pengguna.
- Pengikisan harus dilakukan dengan sangat hati-hati dan hati-hati karena dapat membahayakan dan merusak sistem yang digunakan untuk pengikisan.