Mengikis Web VBA

Mengikis Web Excel VBA

VBA Web Scraping adalah teknik mengakses laman web dan memuat turun data dari laman web tersebut ke fail komputer kami. Pengikisan web boleh dilakukan dengan mengakses aplikasi luaran seperti Internet Explorer. Kita boleh melakukannya dengan dua cara iaitu Pengikat Awal & Pengikat Akhir.

Pengikisan Web dengan VBA bermaksud apabila kita menggunakan VBA untuk mengambil data dari sumber lain di web, ini mungkin memerlukan log masuk untuk sumber data, tetapi pertama, untuk melakukannya, kita perlu mengaktifkan rujukan dari bahagian alat di penyunting VBA untuk perpustakaan HTML HTML untuk mengakses web dari VBA.

Tidak ramai di antara kita yang tahu bahawa dari excel kita dapat mengakses halaman web dan mendapatkan data dari laman web tersebut. Ya, anda betul-betul mendengarnya. kita dapat mengikis laman web, mengakses aplikasi penyemakan imbas, dan banyak lagi. Dalam artikel ini, kami akan menunjukkan kepada anda cara menulis kod VBA excel untuk mengikis web secara terperinci.

Biasanya, kami membuka laman web, menyalin data, dan menampalnya di fail kami seperti excel, word, atau beberapa fail lain. Tetapi dalam artikel ini, kami akan menunjukkan kepada anda cara mengakses laman web dari excel dan melakukan pelbagai jenis perkara lain.

Bagaimana Mengikis Data Laman Web menggunakan VBA?

Anda boleh memuat turun Templat Mengikis Web VBA Excel ini di sini - Templat Mengikis Web VBA Excel

Apabila kita ingin mengakses aplikasi lain dari excel kita dapat melakukan ini dengan cara seperti "Early Binding" & "Late Binding". Pada peringkat pemula, selalu selamat menggunakan teknik "Early Binding".

Untuk mengakses laman web, kami memerlukan aplikasi melayari, misalnya, " Internet Explorer ". Oleh kerana ia adalah objek luaran, kita perlu menetapkan rujukan terlebih dahulu.

Ikuti langkah-langkah berikut untuk memo web.

Langkah 1: Tentukan pembolehubah VBA dan tetapkan jenis data sebagai " Internet Explorer ".

Kod:

 Sub Web_Scraping () Dim Internet_Explorer Sebagai Internet Akhir Sub 

Seperti yang anda lihat di atas ketika kita mencoba mengatur rujukan ke Internet Explorer kita tidak akan melihat "Internet Explorer", ini kerana "Internet Explorer" adalah objek luaran jadi kita perlu mengatur rujukan.

Langkah 2: Untuk menetapkan rujukan pergi ke " Alat " & pilih " Rujukan ".

Pada tetingkap di bawah tatal ke bawah dan pilih " Microsoft Internet Controls ".

Langkah 3: Tandakan kotak "Microsoft Internet Controls" dan klik Ok. Sekarang kita harus melihat nama objek ini dalam senarai IntelliSense.

Kod:

 Sub Web_Scraping () Dim Internet_Explorer Sebagai antara Akhir Sub 

Langkah 4: Pilih "InternetExplorer".

Kod:

 Sub Web_Scraping () Dim Internet_Explorer Sebagai InternetExplorer Akhir Sub 

Langkah 5: Seterusnya, kita perlu menetapkan rujukan untuk mengaktifkan Internet Explorer. Oleh kerana ini adalah pemboleh ubah objek, kita perlu menggunakan kata kunci " Set " untuk menetapkan rujukan.

Kod:

 Sub Web_Scraping () Dim Internet_Explorer Sebagai InternetExplorer Tetapkan Internet_Explorer = Internet BaruExplorer Akhir Sub 

Langkah 6: Sekarang menggunakan pemboleh ubah " Internet_Explorer " kita boleh menggunakan sifat dan kaedah penjelajah internet.

Masukkan nama pemboleh ubah dan letakkan titik untuk melihat senarai IntelliSense.

Kod:

Sub Web_Scraping () Dim Internet_Explorer Sebagai InternetExplorer Tetapkan Internet_Explorer = InternetExplorer Internet_Explorer Baru. Sub Akhir

Langkah 7: Sekarang untuk melihat aplikasi penjelajah internet, kita perlu memilih harta " Terlihat " dan menetapkan status sebagai " Benar ".

Kod:

 Sub Web_Scraping () Dim Internet_Explorer Sebagai InternetExplorer Tetapkan Internet_Explorer = Internet BaruExplorer Internet_Explorer.Visible = True End Sub 

Sekarang jalankan kod dan anda akan melihat Internet Explorer terbuka di komputer anda.

Langkah 8: Kerana tidak ada alamat web yang disebutkan, kami hanya dapat melihat halaman kosong. Untuk memberikan alamat web kepada penjelajah internet, kita perlu kaedah " Navigasi ".

Kod:

 Sub Web_Scraping () Dim Internet_Explorer Sebagai InternetExplorer Tetapkan Internet_Explorer = InternetExplorer Internet Baru_Explorer.Visible = Internet Sebenar_Explorer.Navigate (End Sub 

Langkah 9: Seperti yang anda lihat di atas, kaedah "Navigasi" menanyakan URL mana yang akan dilayari dalam penjelajah internet. Sekarang saya perlu membuka laman web " Wallstreetnmojo " dan saya dapat memberikan alamat URL seperti berikut. "//Www.wallstreetmojo.com/"

Kod:

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

Sekarang jalankan kodnya, kita harus melihat halaman alamat web yang disebutkan dalam penjelajah internet.

Di sini kita mempunyai masalah bahawa setelah halaman web dibuka kod kita perlu menunggu sehingga halaman web halaman dibuka sepenuhnya.

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

Jadi, tambahkan di bawah gelung "Do While" untuk memaksa makro menunggu sehingga halaman web yang disebutkan sampai ke mod " Ready State Complete ".

Kod:

 Sub Web_Scraping () Dim Internet_Explorer Sebagai InternetExplorer Set Internet_Explorer = InternetExplorer Internet_Explorer Baru.Visible = Internet Sejati_Explorer.Navigate ("//www.wallstreetmojo.com") Lakukan Semasa Internet_Explorer.ReadyState READYSTATE_COMPLETE: Loop 

Langkah 11: Sekarang mari kita cuba mendapatkan maklumat mengenai laman web dalam satu baris. Untuk mendapatkan maklumat mengenai maklumat alamat web yang disebutkan, kita perlu menggunakan properti " Nama Lokasi ".

Kod:

 Sub Web_Scraping () Dim Internet_Explorer Sebagai InternetExplorer Tetapkan Internet_Explorer = InternetExplorer Internet_Explorer Baru.Visible = Internet Sejati_Explorer.Navigate ("//www.wallstreetmojo.com") Lakukan Semasa Internet_Explorer.ReadyState READYSTATE_COMPLETE Internet: Loop Mesej 

Jalankan kod dan di kotak mesej, kita akan mendapat maklumat mengenai laman web.

Langkah 12: Sekarang di bahagian bawah, kami juga dapat mencetak alamat laman web.

Kod:

 Sub Web_Scraping () Dim Internet_Explorer Sebagai InternetExplorer Tetapkan Internet_Explorer = InternetExplorer Internet_Explorer Baru.Visible = Internet Sejati_Explorer.Navigate ("//www.wallstreetmojo.com") Lakukan Semasa Internet_Explorer.ReadyState READYSTATE_COMPLETE Internet_LowPerangkat_LonjakanEnploPlokasi: Internet Sub Lokasi AkhirLokasiURL 

Sekarang ini akan memberitahu mengenai keterangan laman web dan juga menunjukkan alamat laman web juga.

Perkara yang Perlu Diingat di sini

  • Pengikisan web boleh dilakukan dengan mengakses aplikasi luaran 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.