VBA Web Scrapping ke Excel

โšก Ringkasan Cerdas

Web scrapping dengan VBA misalnyatracMengimpor data dari halaman web HTML langsung ke Excel, menggunakan otomatisasi Internet Explorer dan Microsoft Pustaka Objek HTML untuk menavigasi situs, membaca tabel HTML, dan menulis nilai yang dikumpulkan ke dalam sel lembar kerja.

  • ๐Ÿงฐ Otomatisasi VBA: VBA menggerakkan Internet Explorer dari Excel untuk memuat halaman web dan membaca HTML-nya.
  • ๐Ÿ“š Referensi yang Diperlukan: Microsoft Perpustakaan Objek HTML dan Microsoft Kontrol Internet harus dirujuk dalam proyek.
  • ๐ŸŒ Metode Navigasi: Metode Navigate membuka target. URL, dan kode tersebut menunggu hingga halaman siap.
  • ๐Ÿงฑ Penguraian Tabel HTML: getElementsByTagName membaca tabel sehingga baris dan selnya dapat ditelusuri.
  • ๐Ÿ“Š Tulis ke Sel: Nilai-nilai yang terkumpul ditulis ke dalam sel lembar kerja, seringkali di balik tombol Segarkan.
  • ๐Ÿค– Bantuan AI: Alat AI dan kopilot kini menghasilkan sampahping Mengkode dan menyesuaikan selektor saat tata letak berubah.

VBA Web Scrapping ke Excel

Apa itu Data Scrap?ping?

Data scrapping adalah teknik yang membantu mantantracMengambil informasi yang diinginkan dari halaman web HTML ke file lokal di komputer Anda. Biasanya, file lokal tersebut berupa file Excel, file Word, atau file lainnya. Microsoft Aplikasi perkantoran. Aplikasi ini membantu menyalurkan informasi penting dari halaman web.

Data scrapping Hal ini menjadi berharga dalam proyek berbasis riset yang bergantung pada internet setiap hari. Sebagai ilustrasi, pertimbangkan seorang pedagang harian yang menjalankan makro Excel untuk mengambil informasi pasar dari situs web keuangan ke dalam lembar Excel menggunakan VBA.

Cara Mempersiapkan Makro Excel Sebelum Pengambilan Dataping (Internet Explorer)

Ada beberapa prasyarat yang harus dilakukan pada file makro Excel sebelum memulai pengambilan data.ping proses.

Persyaratan-persyaratan tersebut adalah sebagai berikut:

Langkah 1) Buka makro berbasis Excel dan akses opsi Pengembang di Excel.

Siapkan Makro Excel sebelum Pengambilan Data.ping menggunakan Internet Explorer

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

Siapkan Makro Excel sebelum Pengambilan Data.ping menggunakan Internet Explorer

Langkah 3) Masukkan modul baru.

Siapkan Makro Excel sebelum Pengambilan Data.ping menggunakan Internet Explorer

Langkah 4) Menginisialisasi subrutin baru.

Sub test()
End Sub

Modul tersebut akan menghasilkan hasil sebagai berikut:

Siapkan Makro Excel sebelum Pengambilan Data.ping menggunakan Internet Explorer

Langkah 5) Akses opsi Referensi di bawah tab Alat dan rujuk ke Microsoft Perpustakaan Objek HTML dan Microsoft Kontrol Internet.

File-file berikut harus dirujuk ke modul ini, karena file-file ini membantu membuka Internet Explorer dan memfasilitasi pembuatan skrip makro.

Referensi Microsoft Pustaka Objek HTML dan Kontrol Internet

Sekarang file Excel sudah siap untuk berinteraksi dengan Internet Explorer. Langkah selanjutnya adalah memasukkan skrip makro yang mempermudah pengambilan data.ping dalam format HTML.

Cara Membuka Internet Explorer Menggunakan Excel VBA

Langkah 1) Inisialisasi variabel dalam subrutin seperti yang ditunjukkan di bawah ini.

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

Langkah 2) Untuk membuka Internet Explorer menggunakan VBA, tulis ie.Visible = True dan tekan F5.

Sub test()
Dim ie As New InternetExplorer 
Dim doc As New HTMLDocument
ie.Visible = True

Modul tersebut akan terlihat seperti berikut:

Buka Internet Explorer menggunakan Excel VBA

Buka Internet Explorer menggunakan Excel VBA

Cara Membuka Situs Web di Internet Explorer Menggunakan VBA

Berikut langkah-langkah untuk membuka situs web di Internet Explorer menggunakan VBA.

Langkah 1) Setelah Anda dapat mengakses Internet Explorer menggunakan Excel VBA, langkah selanjutnya adalah mengakses situs web menggunakan VBA. Hal ini difasilitasi oleh atribut Navigate, di mana URL dilewatkan sebagai tanda kutip ganda. Ikuti langkah-langkah yang ditunjukkan.

Sub test()
Dim ie As New InternetExplorer
Dim doc As New HTMLDocument
Dim ecoll As Object
ie.Visible = True
ie.Navigate "https://demo.guru99.com/test/web-table-element.php"
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE

Langkah 2) Tekan F5 untuk menjalankan makro. Halaman web berikut akan terbuka seperti yang ditunjukkan.

Membuka situs web di Internet Explorer menggunakan VBA

Sekarang makro Excel siap untuk melakukan scraping.ping fungsi. Langkah selanjutnya menunjukkan bagaimana informasi tersebut dapat diekstraksi.tracDiambil dari Internet Explorer menggunakan VBA.

Cara Mengambil Informasi dari Situs Web Menggunakan VBA

Misalkan seorang day trader ingin mengakses data dari situs web setiap hari. Setiap kali day trader mengklik tombol, data pasar harus secara otomatis ditarik ke dalam Excel.

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

Langkah 1) Akses kode sumber HTML di bawah ini dengan menekan Control + . Shift + Saya.

<table class="datatable">
<thead>
<tr>
<th>Company</th>
<th>Group</th>
<th>Pre Close (Rs)</th>
<th>Current Price (Rs)</th>
<th>% Change</th>
</tr>

Kode sumbernya akan seperti berikut:

Sub test()
Dim ie As New InternetExplorer
Dim doc As New HTMLDocument
Dim ecoll As Object
ie.Visible = True
ie.Navigate "https://demo.guru99.com/test/web-table-element.php"
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE
Set doc = ie.document

Seperti yang Anda lihat, data tersebut terstruktur sebagai satu tabel HTML tunggal. Oleh karena itu, untuk mengambil seluruh data dari tabel HTML, Anda harus mendesain makro yang mengumpulkan data sebagai sebuah koleksi.

Kemudian, koleksi tersebut disalin ke Excel. Untuk mendapatkan hasil yang diinginkan, ikuti langkah-langkah di bawah ini.

Langkah 2) Inisialisasi dokumen HTML di dalam subrutin.

Langkah 3) Inisialisasi elemen koleksi yang ada dalam dokumen HTML.

Sub test()
Dim ie As New InternetExplorer
Dim doc As New HTMLDocument
Dim ecoll As Object
ie.Visible = True
ie.Navigate "https://demo.guru99.com/test/web-table-element.php"
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE
Set doc = ie.document
Set ecoll = doc.getElementsByTagName("table")

Langkah 4) Inisialisasi sel-sel lembar Excel dengan bantuan perulangan bersarang seperti yang ditunjukkan.

Sub test()
Dim ie As New InternetExplorer
Dim doc As New HTMLDocument
Dim ecoll As Object

ie.Visible = True
ie.Navigate "https://demo.guru99.com/test/web-table-element.php"
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE
Set doc = ie.document
Set ecoll = doc.getElementsByTagName("table")

Excel dapat diinisialisasi menggunakan atribut Range atau atribut Cells pada lembar kerja. Untuk mengurangi kompleksitas skrip VBA, data koleksi diinisialisasi ke atribut Cells pada Lembar 1 di buku kerja.

Setelah skrip makro siap, tetapkan subrutin ke tombol Excel dan keluar dari modul VBA. Beri label tombol tersebut sebagai Refresh atau nama lain yang sesuai. Untuk contoh ini, tombol tersebut diberi label Refresh.

Mengikis Informasi dari Situs Web menggunakan VBA

Langkah 5) Tekan tombol Refresh untuk mendapatkan hasil seperti di bawah ini.

Mengikis Informasi dari Situs Web menggunakan VBA

Langkah 6) Bandingkan hasil di Excel dengan hasil di Internet Explorer.

Mengikis Informasi dari Situs Web menggunakan VBA

Pertanyaan Umum Demo Slot

Dua referensi diperlukan di editor VBA di bawah Tools, References: the Microsoft Perpustakaan Objek HTML dan Microsoft Kontrol Internet. Kontrol ini memungkinkan VBA untuk membuka Internet Explorer, menavigasi ke suatu tempat. URL, dan membaca elemen HTML halaman tersebut.

Itu tergantung pada situs webnya. Banyak situs membatasi pengambilan data otomatis.ping Dalam persyaratan layanan mereka, jadi tinjau terlebih dahulu dan hindari mengumpulkan data pribadi atau data yang dilindungi hak cipta. Scraping Data publik yang diizinkan untuk analisis pribadi umumnya memiliki risiko lebih rendah.

Internet Explorer sudah usang, jadi proyek-proyek modern menggunakan Selenium VBA pendekatan, yang mendorong Chrome, Firefox, atau Edge. Selenium Menawarkan dukungan multi-browser dan lokasi elemen yang lebih andal untuk situs web saat ini.

Ya. Scraper dan copilot bertenaga AI dapat mengidentifikasi bidang data, menghasilkan extracKode tersebut, dan beradaptasi dengan perubahan tata letak secara otomatis. Model pembelajaran mesin juga mengurai halaman yang tidak terstruktur, mengurangi upaya manual dalam menulis dan memelihara kode sumber.ping script.

AI menggunakan penglihatan komputer dan pemrosesan bahasa alami untuk mengenali tabel, harga, dan teks di halaman, bahkan tanpa pemilih tetap. Ekspektasi cerdas initraction membuat scraping lebih tangguh ketika sebuah situs web mengubah strukturnya.

Ringkaslah postingan ini dengan: