VBA Web Scraping

Scraping Web VBA Excel

VBA Web Scraping adalah teknik mengakses halaman web dan mengunduh data dari situs web itu ke file komputer kita. Scraping web dimungkinkan dengan mengakses aplikasi eksternal seperti Internet Explorer. Kita bisa melakukannya dengan dua cara yaitu Early Binding & Late Binding.

Scraping Web dengan VBA berarti ketika kita menggunakan VBA untuk mengambil data dari sumber lain di web, ini mungkin memerlukan login untuk sumber data, tetapi pertama-tama, untuk melakukannya, kita perlu mengaktifkan referensi dari bagian alat di editor VBA untuk pustaka HTML Microsoft untuk mengakses web dari VBA.

Tidak banyak dari kita yang mengetahui bahwa dari excel kita dapat mengakses halaman web dan mendapatkan data dari halaman web tersebut. ya, Anda tidak salah dengar. kita dapat menjelajahi halaman web, mengakses aplikasi penjelajahan, dan banyak lagi. Pada artikel ini, kami akan menunjukkan kepada Anda cara menulis kode VBA excel untuk web scraping secara rinci.

Biasanya, kami membuka halaman web, menyalin data, dan menempelkannya di file kami seperti excel, word, atau beberapa file lainnya. Namun dalam artikel ini, kami akan menunjukkan kepada Anda cara mengakses situs web dari excel dan melakukan banyak hal lainnya.

Bagaimana cara Memotong Data Situs Web menggunakan VBA?

Anda dapat mengunduh Template Excel Scraping Web VBA ini di sini - Template Excel Scraping Web VBA

Ketika kita ingin mengakses aplikasi lain dari excel kita dapat melakukannya dengan cara yaitu “Early Binding” & “Late Binding”. Pada tahap pemula, selalu aman untuk menggunakan teknik "Pengikatan Awal".

Untuk mengakses website kita membutuhkan aplikasi browsing, misalnya “ Internet Explorer ”. Karena ini adalah objek eksternal, kita perlu mengatur referensi terlebih dahulu.

Ikuti langkah-langkah di bawah ini untuk memo web.

Langkah 1: Tentukan variabel VBA dan tetapkan tipe datanya sebagai " Internet Explorer ".

Kode:

 Sub Web_Scraping () Redupkan Internet_Explorer Sebagai Internet End Sub 

Seperti yang Anda lihat di atas ketika kami mencoba mengatur referensi ke Internet Explorer, kami tidak dapat melihat "Internet Explorer", ini karena "Internet Explorer" adalah objek eksternal sehingga kami perlu mengatur referensi.

Langkah 2: Untuk menyetel referensi, buka " Alat " & pilih " Referensi ".

Pada jendela di bawah gulir ke bawah dan pilih " Microsoft Internet Controls ".

Langkah 3: Centang kotak "Microsoft Internet Controls" dan klik Ok. Sekarang kita akan melihat nama objek ini di daftar IntelliSense.

Kode:

 Sub Web_Scraping () Redupkan Internet_Explorer Sebagai antar End Sub 

Langkah 4: Pilih "InternetExplorer".

Kode:

 Sub Web_Scraping () Redupkan Internet_Explorer Sebagai InternetExplorer End Sub 

Langkah 5: Selanjutnya, kita perlu mengatur referensi untuk mengaktifkan Internet Explorer. Karena ini adalah variabel objek, kita perlu menggunakan kata kunci " Set " untuk mengatur referensi.

Kode:

 Sub Web_Scraping () Redupkan Internet_Explorer Sebagai Set InternetExplorer Internet_Explorer = Sub Akhir InternetExplorer Baru 

Langkah 6: Sekarang menggunakan variabel “ Internet_Explorer ” kita dapat menggunakan properti dan metode internet explorer.

Masukkan nama variabel dan beri titik untuk melihat daftar IntelliSense.

Kode:

Sub Web_Scraping () Redupkan Internet_Explorer Sebagai Set InternetExplorer Internet_Explorer = InternetExplorer Baru Internet_Explorer. Akhiri Sub

Langkah 7: Sekarang untuk melihat aplikasi internet explorer, kita perlu memilih properti " Visible " dan mengatur status sebagai " True ".

Kode:

 Sub Web_Scraping () Redupkan Internet_Explorer Sebagai Set InternetExplorer Internet_Explorer = InternetExplorer Baru Internet_Explorer.Visible = True End Sub 

Sekarang jalankan kode dan Anda akan melihat Internet Explorer terbuka di komputer Anda.

Langkah 8: Karena tidak ada alamat web yang disebutkan, kami hanya dapat melihat halaman kosong. Untuk memberikan alamat web ke internet explorer kita perlu metode " Navigasi ".

Kode:

 Sub Web_Scraping () Redupkan Internet_Explorer Sebagai Set InternetExplorer Internet_Explorer = InternetExplorer Baru Internet_Explorer.Visible = True Internet_Explorer.Navigate (End Sub 

Langkah 9: Seperti yang Anda lihat di atas metode "Navigasi" menanyakan URL mana yang akan dinavigasi di internet explorer. Sekarang saya perlu membuka situs " Wallstreetnmojo " dan saya dapat memberikan alamat URL sebagai berikut. “//Www.wallstreetmojo.com/”

Kode:

 Sub Web_Scraping () Redupkan Internet_Explorer Sebagai Set InternetExplorer Internet_Explorer = InternetExplorer Baru Internet_Explorer.Visible = True Internet_Explorer.Navigate ("//www.wallstreetmojo.com") End Sub 

Sekarang jalankan kodenya, kita akan melihat halaman alamat web yang disebutkan di internet explorer.

Di sini kita memiliki masalah bahwa setelah halaman web dibuka, kode kita harus menunggu sampai halaman web tersebut sepenuhnya terbuka.

Langkah 10: Kita perlu menggunakan loop "Do While" di VBA untuk benar-benar menunggu kode kita melangkah lebih jauh sampai halaman yang disebutkan dimuat sepenuhnya.

Jadi, tambahkan di bawah loop "Do While" untuk memaksa makro menunggu hingga halaman web yang disebutkan datang ke mode " Ready State Complete ".

Kode:

 Sub Web_Scraping () Redupkan Internet_Explorer Sebagai Set InternetExplorer Internet_Explorer = InternetExplorer Baru Internet_Explorer.Visible = True Internet_Explorer.Navigate ("//www.wallstreetmojo.com") Lakukan Saat Internet_Explorer.ReadyState READYSTATE_COMPLETE: Loop End Sub 

Langkah 11: Sekarang mari kita coba mendapatkan informasi tentang situs web dalam satu baris. Untuk mendapatkan informasi tentang informasi alamat web yang disebutkan, kita perlu menggunakan properti " Nama Lokasi ".

Kode:

 Sub Web_Scraping () Redupkan Internet_Explorer Sebagai Set InternetExplorer Internet_Explorer = InternetExplorer Baru Internet_Explorer.Visible = True Internet_Explorer.Navigate ("//www.wallstreetmojo.com") Lakukan Saat Internet_Explorer.ReadyState READYSTATE_COMPLETE: Loop MsgBox Internet_Explorer. 

Jalankan kode dan di kotak pesan, kita akan mendapatkan informasi tentang situs web.

Langkah 12: Sekarang di bagian bawah, kita juga dapat mencetak alamat situs web.

Kode:

 Sub Web_Scraping () Redupkan Internet_Explorer Sebagai InternetExplorer Set Internet_Explorer = InternetExplorer Baru Internet_Explorer.Visible = True Internet_Explorer.Navigate ("//www.wallstreetmojo.com") Lakukan Saat Internet_Explorer.ReadyState READYSTATE_COMPLETE: Loop MsgBox Internet_Explorer & v .LocationURL End Sub 

Sekarang ini akan memberi tahu tentang deskripsi situs web dan juga menunjukkan alamat situs web juga.

Hal-hal yang Perlu Diingat di sini

  • Scraping web dimungkinkan dengan mengakses aplikasi eksternal seperti Internet Explorer.
  • We can do it in two ways i.e. Early Binding & Late Binding. With Early Binding, we can get to see the IntelliSense list but with late binding, we cannot get to see the IntelliSense list at all.