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.

Siapkan Makro Excel sebelum Melakukan Pengikisan Data menggunakan Internet Explorer

Langkah 2) Pilih opsi Visual Basic di bawah pita Pengembang.

Siapkan Makro Excel sebelum Melakukan Pengikisan Data menggunakan Internet Explorer

Langkah 3) Masukkan modul baru.

Siapkan Makro Excel sebelum Melakukan Pengikisan Data menggunakan Internet Explorer

Langkah 4) Inisialisasi subrutin baru

Sub test()
End sub

Modul akan menghasilkan sebagai berikut: –

Siapkan Makro Excel sebelum Melakukan Pengikisan Data menggunakan Internet Explorer

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.

Siapkan Makro Excel sebelum Melakukan Pengikisan Data menggunakan Internet Explorer

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: –

Buka Internet Explorer menggunakan Excel VBA

Buka Internet Explorer menggunakan Excel VBA

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

Buka Situs Web di Internet explorer menggunakan VBA

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.

Mengikis Informasi dari Situs Web menggunakan VBA

Langkah 5) Tekan tombol segarkan untuk mendapatkan keluaran yang disebutkan di bawah

Mengikis Informasi dari Situs Web menggunakan VBA

Langkah 6) Bandingkan hasilnya di excel dengan hasil di internet explorer

Mengikis Informasi dari Situs Web menggunakan VBA

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.