Mengikis Web VBA - Bagaimana Mengikis Laman Web menggunakan Excel VBA?

Isi kandungan

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 pustaka HTML Microsoft untuk mengakses web dari VBA.

Tidak ramai di antara kita yang tahu bahawa dari excel, kita dapat mengakses laman web dan mendapatkan data dari laman web tersebut. Ya, anda betul-betul mendengarnya. kita dapat mengikis melalui 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?

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

Untuk mengakses laman web, kami memerlukan melayari aplikasi, 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 pemboleh ubah 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 menetapkan 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 ".

Di 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 membolehkan 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, dengan menggunakan pemboleh ubah " Internet_Explorer " , kita dapat 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 kodnya, 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 menggunakan kaedah " Navigasi ".

Kod:

Sub Web_Scraping () Dim Internet_Explorer Sebagai InternetExplorer Set Internet_Explorer = InternetExplorer Internet_Explorer Baru.Visible = Internet Sebenar_Explorer.Navigate (End Sub

Step 9: As you can see above “Navigation” method asking which URL to be navigated in internet explorer. Now I need to open the website “Wallstreetnmojo,” and I can give the URL address as follows. “https://www.wallstreetmojo.com/”

Code:

Sub Web_Scraping() Dim Internet_Explorer As InternetExplorer Set Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("https://www.wallstreetmojo.com") End Sub

Now run the code, we should see the mentioned web address page in internet explorer.

Here we have a problem that once the web page is opened, our code needs to wait until the page web page fully opened.

Step 10: We need to use the “Do While” loop in VBA to actually wait for our code to go any further until the mentioned page is fully loaded.

So, add below the “Do While” loop to force the macro to wait until the mentioned web page comes to the “Ready State Complete” mode.

Code:

Sub Web_Scraping() Dim Internet_Explorer As InternetExplorer Set Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("https://www.wallstreetmojo.com") Do While Internet_Explorer.ReadyState READYSTATE_COMPLETE: Loop End Sub

Step 11: Now, let’s try to get information about the website in a single line. To get the information about the mentioned web address information, we need to use the “Location Name” property.

Code:

Sub Web_Scraping() Dim Internet_Explorer As InternetExplorer Set Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("https://www.wallstreetmojo.com") Do While Internet_Explorer.ReadyState READYSTATE_COMPLETE: Loop MsgBox Internet_Explorer.LocationName End Sub

Run the code, and in the message box, we would get the information about the website.

Step 12: Now, at the bottom, we can also print website addresses as well.

Code:

Sub Web_Scraping () Dim Internet_Explorer Sebagai InternetExplorer Tetapkan Internet_Explorer = InternetExplorer Internet_Explorer Baru.Visible = Internet Sejati_Explorer.Navigate ("https://www.wallstreetmojo.com") Lakukan Semasa Internet_Explorer.ReadyState READYSTATE_COMPLETE: LoNBlackBerandaLobi: Navigasi Web: & Internet_Explorer.LocationURL Akhir Sub

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.
  • Kita boleh melakukannya dengan dua cara, iaitu, Early Binding & Late Binding. Dengan Pengikatan Awal, kita dapat melihat senarai IntelliSense, tetapi dengan pengikatan yang terlambat, kita sama sekali tidak dapat melihat senarai IntelliSense.

Artikel menarik...