Mengikis Web dengan VBA

Isi kandungan:

Anonim

Apa itu Pengikisan Data?

Pengikisan data adalah teknik yang membantu pengekstrakan maklumat yang diinginkan dari laman web HTML ke fail tempatan yang terdapat di mesin tempatan anda. Biasanya, file lokal dapat sesuai dengan file excel, file word, atau mengatakan aplikasi Microsoft office mana pun. Ini membantu dalam menyalurkan maklumat penting dari laman web.

Pengikisan data menjadi mudah ketika mengerjakan projek berasaskan penyelidikan setiap hari, dan projek seperti itu hanya bergantung pada internet dan laman web. Untuk memberi gambaran lebih lanjut mengenai topik ini, mari kita ambil contoh trader sehari yang menjalankan makro excel untuk menarik maklumat pasaran dari laman web kewangan ke dalam lembaran excel menggunakan VBA.

Dalam tutorial ini, anda akan belajar:

  • Apa itu Pengikisan Data?
  • Bagaimana cara menyediakan Macro Excel sebelum melakukan Pengikisan Data menggunakan penjelajah Internet?
  • Bagaimana Membuka Internet Explorer menggunakan Excel VBA?
  • Bagaimana Membuka Laman Web di Internet explorer menggunakan VBA?
  • Bagaimana Mengikis maklumat dari Laman web menggunakan VBA?

Bagaimana cara menyediakan Macro Excel sebelum melakukan Pengikisan Data menggunakan penjelajah Internet?

Terdapat prasyarat tertentu yang harus dilakukan pada file makro excel sebelum masuk ke proses pengikisan data di excel.

Prasyarat ini adalah seperti berikut: -

Langkah 1) Buka Makro berasaskan Excel dan akses pilihan pembangun excel.

Langkah 2) Pilih pilihan Visual Basic di bawah Pita pemaju.

Langkah 3) Masukkan modul baru.

Langkah 4) Memulakan subrutin baru

Sub test()End sub

Modul akan dihasilkan seperti berikut: -

Langkah 5) Akses pilihan rujukan di bawah tab alat dan rujuk Microsoft HTML Object Library dan kawalan internet Microsoft.

Fail berikut harus dirujuk ke modul kerana membantu dalam membuka internet explorer dan memudahkan pengembangan skrip makro.

Kini fail Excel siap berinteraksi dengan penjelajah internet. Langkah seterusnya adalah memasukkan skrip makro yang akan memudahkan pengikisan data dalam HTML.

Bagaimana Membuka Internet Explorer menggunakan Excel VBA?

Langkah 1) Permulaan pemboleh ubah dalam subrutin seperti yang ditunjukkan di bawah

Sub test()Dim ie As New InternetExplorerDim doc As New HTMLDocument

Langkah 2) Untuk membuka penjelajah internet menggunakan VBA, tuliskan iaitu visible = true dan tekan F5

Sub test()Dim ie As New InternetExplorerDim doc As New HTMLDocumentIe.visible=true

Modul akan kelihatan seperti berikut: -

Bagaimana Membuka Laman Web di Internet explorer menggunakan VBA?

Berikut, adalah langkah-langkah untuk membuka laman web di Internet menggunakan VBA

Langkah 1) Setelah anda dapat mengakses penjelajah internet menggunakan Excel VBA, langkah seterusnya adalah memasukkan akses laman web menggunakan VBA. Ini difasilitasi oleh Atribut Navigasi, di mana URL harus diteruskan sebagai tanda petik ganda dalam atribut. Ikuti langkah berikut seperti yang ditunjukkan.

Sub test()Dim, ie As New InternetExplorerDim doc As New HTMLDocumentDim ecoll As Objectie.Visible = Trueie.navigate"http://demo.guru99.com/test/web-table-element.php"DoDoEventsLoop Until ie.readyState = READYSTATE_COMPLETE

Langkah 2) - Tekan F5 untuk melaksanakan makro. Halaman web berikut akan dibuka seperti yang ditunjukkan

Sekarang, makro excel sudah siap berkaitan dengan fungsi mengikis. Langkah seterusnya akan menunjukkan bagaimana maklumat itu dapat diambil dari penjelajah internet menggunakan VBA.

Bagaimana Mengikis maklumat dari Laman web menggunakan VBA?

Anggaplah hari peniaga ingin mengakses data dari laman web setiap hari. Setiap kali peniaga menekan butang klik, ia harus menarik data pasaran ke excel secara automatik.

Dari laman web di atas, perlu memeriksa elemen dan memerhatikan bagaimana data disusun.

Langkah 1) Akses kod sumber HTML di bawah dengan menekan control + Shift + I

Kod sumbernya adalah seperti berikut: -

Sub test()Dim ie As New InternetExplorerDim doc As New HTMLDocumentDim ecoll As Objectie.Visible = Trueie.navigate "http://demo.guru99.com/test/web-table-element.php"DoDoEventsLoop Until ie.readyState = READYSTATE_COMPLETESet doc = ie.document

Seperti yang dapat dilihat bahawa data disusun sebagai Jadual HTML tunggal. Oleh itu, untuk menarik keseluruhan data dari jadual html, ia memerlukan perancangan makro yang mengumpulkan data dalam bentuk koleksi.

Koleksi itu kemudian akan disisipkan ke excel. Untuk mencapai, hasil yang diinginkan melakukan langkah-langkah yang disebutkan di bawah: -

Langkah 2) Permulaan dokumen Html di subrutin

Modul VBA akan kelihatan seperti berikut: -

Langkah 3) Permulaan elemen pengumpulan yang terdapat dalam dokumen HTML

Modul VBA akan kelihatan seperti berikut: -

Sub test()Dim ie As New InternetExplorerDim doc As New HTMLDocumentDim ecoll As Objectie.Visible = Trueie.navigate "http://demo.guru99.com/test/web-table-element.php"DoDoEventsLoop Until ie.readyState = READYSTATE_COMPLETESet doc = ie.documentSet ecoll = doc.getElementsByTagName("table")

Langkah 4) Permulaan sel lembaran excel dengan bantuan gelung bersarang seperti yang ditunjukkan

Modul VBA akan kelihatan seperti berikut: -

Sub test()Dim ie As New InternetExplorerDim doc As New HTMLDocumentDim ecoll As Objectie.Visible = Trueie.navigate "http://demo.guru99.com/test/web-table-element.php"DoDoEventsLoop Until ie.readyState = READYSTATE_COMPLETESet doc = ie.documentSet ecoll = doc.getElementsByTagName("table")

Excel dapat diinisialisasi dengan menggunakan atribut range dari excel sheet atau melalui atribut sel dari excel sheet. Untuk mengurangkan kerumitan skrip VBA, data pengumpulan diinisialisasi ke atribut sel excel dari lembaran 1 yang terdapat dalam buku kerja.

Setelah skrip makro siap, lulus dan tetapkan subrutin untuk butang excel dan keluar dari modul VBA. Labelkan butang sebagai penyegar atau nama yang sesuai yang dapat diinisialisasi kepadanya. Untuk contoh ini, butang diinisialisasi sebagai penyegaran.

Langkah 5) Tekan butang muat semula untuk mendapatkan output yang disebutkan di bawah

Langkah 6) Bandingkan hasil di excel dengan hasil penjelajah internet

Ringkasan:

  • Pengikisan data membolehkan pengguna mengikis hanya maklumat yang dikehendaki pengguna.
  • Mengikis boleh dilakukan menggunakan internet explorer.
  • Proses mengikis lebih perlahan dalam hal penjelajah internet; namun, ia memberikan hasil yang diinginkan kepada pengguna.
  • Pengikisan harus dilakukan dengan berhati-hati dan berhati-hati kerana boleh membahayakan dan merosakkan sistem yang digunakan untuk mengikis.
CompanyGroupPre Close (Rs)Current Price (Rs)% Change