Selenium dapat diklasifikasikan sebagai alat otomasi yang memfasilitasi penggalian informasi dari halaman web HTML untuk melakukan web scraping menggunakan google chrome.
Dalam tutorial ini, Anda akan mempelajari:
Apa itu Data Scraping menggunakan selenium?
Bagaimana cara mempersiapkan Makro Excel sebelum melakukan Data Scraping menggunakan Selenium?
Bagaimana cara membuka Google Chrome menggunakan VBA?
Bagaimana cara Membuka Situs Web di Google chrome menggunakan VBA?
Bagaimana cara Mengikis informasi dari Situs web menggunakan VBA?
Bagaimana cara mempersiapkan Makro Excel sebelum melakukan Data Scraping menggunakan Selenium?
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 dan beri nama sebagai test2.
Sub tes2 ()Akhiri sub
Berikut adalah hasil dalam modul: -
Langkah 5) Akses opsi referensi di bawah tab alat dan referensi perpustakaan tipe Selenium. Pustaka berikut akan dirujuk ke modul karena membantu dalam membuka google chrome 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 Google Chrome menggunakan VBA?
Berikut langkah-langkah untuk membuka Google Chrome menggunakan VBA
Langkah 1) Deklarasikan dan inisialisasi variabel dalam subrutin seperti yang ditampilkan di bawah ini
Sub tes2 ()Redupkan driver sebagai driver web baruRedupkan rowc, cc, columnC sebagai integer
Langkah 2) Untuk membuka google chrome menggunakan selenium dan VBA, tulis driver. Mulai "chrome" dan tekan F5 .
Berikut ini adalah kodenya.
Sub tes2 ()Redupkan driver sebagai driver web baruRedupkan rowc, cc, columnC sebagai integerDriver.start "Chrome"Application.Tunggu Sekarang + Nilai Waktu ("00:00:20")Akhiri sub
Modul akan menghasilkan sebagai berikut: -
Bagaimana cara Membuka Situs Web di Google chrome menggunakan VBA?
Setelah Anda dapat mengakses google chrome menggunakan VBA, langkah selanjutnya adalah memasukkan pengaksesan situs web menggunakan VBA. Ini difasilitasi oleh fungsi get dimana URL harus dilewatkan sebagai tanda kutip ganda di atribut.
Ikuti langkah-langkah berikut seperti yang ditampilkan
Modul akan terlihat sebagai berikut: -
Tekan F5 untuk menjalankan makro.
Halaman web berikut akan dibuka di google chrome seperti yang ditampilkan
Sub tes2 ()Redupkan driver sebagai driver web baruRedupkan rowc, cc, columnC sebagai integerDriver.start "Chrome"Driver.get "http://demo.guru99.com/test/web-table-element.php"Application.Tunggu Sekarang + Nilai Waktu ("00:00:20")Akhiri sub
Sekarang makro excel sudah siap untuk melakukan tugas scraping. Langkah selanjutnya akan menampilkan bagaimana informasi dapat diekstraksi dengan menerapkan selenium dan 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. Akses kode sumber HTML di bawah ini dengan menekan control + Shift + I
Perusahaan
Grup
Pre Close (Rs)
Harga Saat Ini (Rs)
% Perubahan
Kode sumbernya adalah sebagai berikut: -
Seperti terlihat bahwa data disusun sebagai Tabel HTML tunggal. Oleh karena itu, untuk menarik seluruh data dari tabel HTML, diperlukan perancangan makro yang menarik informasi header dari tabel HTML dan data terkait yang terkait dengan tabel tersebut. Lakukan tugas berikut seperti yang ditampilkan: -
Langkah 1) Merumuskan perulangan for yang berjalan melalui informasi header HTML sebagai kumpulan. Driver selenium harus menemukan informasi header dari tabel HTML. Untuk melakukan ini, kami menggunakan metode FindElementByClass () dan FindElementByTag () untuk melakukan tugas seperti yang ditampilkan.
Modul VBA akan terlihat sebagai berikut: -
Sub tes2 ()Redupkan driver Sebagai WebDriver BaruRedupkan rowc, cc, kolomC Sebagai Integerrowc = 2Application.ScreenUpdating = Salahdriver. Mulai "chrome"driver. Dapatkan "http://demo.guru99.com/test/web-table-element.php"Untuk Setiap driver.FindElementByClass ("dataTable"). FindElementByTag ("thead"). FindElementsByTag ("tr")cc = 1Untuk Setiap t In th.FindElementsByTag ("th")Sheet2.Cells (1, cc). Value = t.Textcc = cc + 1SelanjutnyaSelanjutnya th
Langkah 2) Selanjutnya, driver selenium akan mencari data tabel menggunakan pendekatan serupa, seperti yang disebutkan di atas. Anda harus menulis kode berikut: -
Sub tes2 ()Redupkan driver Sebagai WebDriver BaruRedupkan rowc, cc, kolomC Sebagai Integerrowc = 2Application.ScreenUpdating = Salahdriver. Mulai "chrome"driver. Dapatkan "http://demo.guru99.com/test/web-table-element.php"Untuk Setiap driver.FindElementByClass ("dataTable"). FindElementByTag ("thead"). FindElementsByTag ("tr")cc = 1Untuk Setiap t In th.FindElementsByTag ("th")Sheet2.Cells (1, cc). Value = t.Textcc = cc + 1SelanjutnyaSelanjutnya thUntuk Setiap tr In driver.FindElementByClass ("dataTable"). FindElementByTag ("tbody"). FindElementsByTag ("tr")kolomC = 1Untuk Setiap td In tr.FindElementsByTag ("td")Sheet2.Cells (rowc, columnC) .Value = td.TextkolomC = kolomC + 1Td berikutnyarowc = rowc + 1Tr berikutnyaApplication.Tunggu Sekarang + TimeValue ("00:00:20")Akhiri Sub
Modul vba akan terlihat sebagai berikut: -
Excel dapat diinisialisasi dengan 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 2 yang ada di buku kerja. Selanjutnya, atribut teks membantu dalam menempatkan informasi teks di bawah tag HTML.
Sub tes2 ()Redupkan driver Sebagai WebDriver BaruRedupkan rowc, cc, kolomC Sebagai Integerrowc = 2Application.ScreenUpdating = Salahdriver. Mulai "chrome"driver. Dapatkan "http://demo.guru99.com/test/web-table-element.php"Untuk Setiap driver.FindElementByClass ("dataTable"). FindElementByTag ("thead"). FindElementsByTag ("tr")cc = 1Untuk Setiap t In th.FindElementsByTag ("th")Sheet2.Cells (1, cc). Value = t.Textcc = cc + 1SelanjutnyaSelanjutnya thUntuk Setiap tr In driver.FindElementByClass ("dataTable"). FindElementByTag ("tbody"). FindElementsByTag ("tr")kolomC = 1Untuk Setiap td In tr.FindElementsByTag ("td")Sheet2.Cells (rowc, columnC) .Value = td.TextkolomC = kolomC + 1Td berikutnyarowc = rowc + 1Tr berikutnyaApplication.Tunggu Sekarang + TimeValue ("00:00:20")Akhiri Sub
Modul vba akan terlihat sebagai berikut: -
Langkah 3) 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 refresh.
Langkah 4) Tekan tombol refresh untuk mendapatkan output yang disebutkan di bawah ini
Langkah 5) Bandingkan hasil di excel dengan hasil google chrome
Ringkasan:
Selenium dapat diklasifikasikan sebagai alat otomasi yang memfasilitasi penggalian informasi dari halaman web HTML untuk melakukan web scraping menggunakan google chrome.
Pengikisan di internet harus dilakukan dengan hati-hati.
Mengikis informasi biasanya melanggar ketentuan situs web.
Saat pengikisan dilakukan melalui selenium, maka ia menawarkan banyak dukungan browser.
Dengan kata lain, pengikis dapat melakukan tugas serupa untuk mengikis melalui Firefox, juga penjelajah internet.