Scraping Web dengan VBA

Daftar Isi:

Anonim

Apa itu Data Scraping?

Scraping data adalah teknik yang membantu dalam mengekstraksi informasi yang diinginkan dari halaman web HTML ke file lokal yang ada di mesin lokal Anda. Biasanya, file lokal dapat berhubungan dengan file excel, file word, atau aplikasi kantor Microsoft. Ini membantu dalam menyalurkan informasi penting dari halaman web.

Pengumpulan data menjadi sederhana ketika mengerjakan proyek berbasis penelitian setiap hari, dan proyek semacam itu sepenuhnya bergantung pada internet dan situs web. Untuk mengilustrasikan lebih lanjut tentang topik ini, mari kita ambil contoh seorang pedagang harian yang menjalankan makro excel untuk menarik informasi pasar dari situs web keuangan ke dalam lembar excel menggunakan VBA.

Dalam tutorial ini, Anda akan mempelajari:

  • Apa itu Data Scraping?
  • Bagaimana cara mempersiapkan Makro Excel sebelum melakukan Scraping Data menggunakan Internet explorer?
  • Bagaimana cara membuka Internet Explorer menggunakan Excel VBA?
  • Bagaimana cara membuka situs web di penjelajah Internet menggunakan VBA?
  • Bagaimana cara Mengikis informasi dari Situs web menggunakan VBA?

Bagaimana cara mempersiapkan Makro Excel sebelum melakukan Scraping Data menggunakan Internet explorer?

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

Prasyarat tersebut adalah sebagai berikut: -

Langkah 1) Buka Makro berbasis Excel dan akses opsi pengembang excel.

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

Langkah 3) Masukkan modul baru.

Langkah 4) Inisialisasi subrutin baru

Sub test()End sub

Modul akan menghasilkan sebagai berikut: -

Langkah 5) Akses opsi referensi di bawah tab alat dan referensi Perpustakaan Objek HTML Microsoft dan kontrol internet Microsoft.

File-file berikut akan dirujuk ke modul karena membantu dalam membuka internet explorer dan memfasilitasi pengembangan skrip makro.

Sekarang file Excel siap untuk berinteraksi dengan penjelajah internet. 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 InternetExplorerDim doc As New HTMLDocument

Langkah 2) Untuk membuka internet explorer menggunakan VBA, tulis yaitu visible = true dan tekan F5.

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

Modul akan terlihat sebagai berikut: -

Bagaimana cara membuka situs web di penjelajah Internet menggunakan VBA?

Berikut adalah langkah-langkah untuk Membuka Situs Web di Internet exploer menggunakan VBA

Langkah 1) Setelah Anda dapat mengakses penjelajah internet menggunakan Excel VBA, langkah selanjutnya adalah mengakses situs web menggunakan VBA. Ini difasilitasi oleh Navigate Attribute, di mana URL harus dilewatkan sebagai tanda kutip ganda di atribut. Ikuti langkah-langkah berikut seperti yang ditampilkan.

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 menjalankan makro. Halaman web berikut akan dibuka seperti yang ditampilkan

Sekarang, makro excel siap untuk menjalankan fungsi scraping. Langkah selanjutnya akan menampilkan bagaimana informasi dapat diekstraksi dari internet explorer menggunakan VBA.

Bagaimana cara Mengikis informasi dari Situs web menggunakan VBA?

Misalkan pedagang harian ingin mengakses data dari situs web setiap hari. Setiap hari pedagang menekan tombol klik, itu akan secara otomatis menarik data pasar ke dalam excel.

Dari situs web di atas, perlu untuk memeriksa elemen dan mengamati bagaimana data terstruktur.

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

Kode sumbernya adalah sebagai 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 terlihat bahwa data disusun sebagai Tabel HTML tunggal. 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 sebagai berikut: -

Langkah 3) Inisialisasi elemen koleksi yang ada di dokumen HTML

Modul VBA akan terlihat sebagai 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) Inisialisasi sel lembar excel dengan bantuan loop bersarang seperti yang ditunjukkan

Modul VBA akan terlihat sebagai 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 menggunakan atribut range pada lembar excel atau melalui atribut sel pada lembar excel. Untuk mengurangi kompleksitas skrip VBA, kumpulan data 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 refresh atau nama apa pun yang sesuai yang dapat diinisialisasi padanya. Untuk contoh ini, tombol diinisialisasi sebagai penyegaran.

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

Langkah 6) Bandingkan hasil di excel dengan hasil internet explorer

Ringkasan:

  • Scraping data memungkinkan pengguna untuk mengorek hanya informasi yang diinginkan pengguna.
  • Scraping dapat dilakukan dengan menggunakan internet explorer.
  • Proses scraping lebih lambat dalam kasus penjelajah internet; namun, ini memberikan hasil yang diinginkan kepada pengguna.
  • Pengikisan harus dilakukan dengan sangat hati-hati dan hati-hati karena dapat merusak dan merusak sistem yang digunakan untuk pengikisan.
CompanyGroupPre Close (Rs)Current Price (Rs)% Change