Apa itu Chrome tanpa kepala, dan mengapa seseorang ingin menggunakan browser tanpa kepala?
Ringkasan
- Headless Chrome berjalan tanpa antarmuka grafis, memuat halaman lebih cepat, dan menggunakan sumber daya jauh lebih sedikit.
- Otomatiskan pengambilan data, pemantauan, pengisian otomatis, peringatan, atau tugas batch dengan skrip (Playwright/Selenium).
- Pengembang menggunakan Chrome tanpa kepala untuk pengujian kinerja yang tepat dan metrik halaman secara massal.
Browser Google Chrome bisa melakukan jauh lebih banyak selain hanya menampilkan situs web dan menjalankan ekstensi browser. Ada versi Chrome yang bisa mengotomatiskan hal-hal membosankan dan menghemat berjam-jam kerja keras Anda.
Apa yang membuat sebuah browser menjadi headless?
Saat Anda membuka browser, hal pertama yang Anda lihat adalah jendela yang memuat konten web. Ini yang kita sebut sebagai antarmuka pengguna grafis atau GUI, tetapi ada beberapa hal berguna yang bisa Anda lakukan di browser tanpa GUI. Browser yang berjalan tanpa antarmuka visualnya disebut browser "headless".
Bagaimana Anda mengendalikan browser yang tidak memiliki antarmuka grafis? Anda hanya memerlukan keyboard dan konsol baris perintah. Anda bisa menjalankan berbagai perintah browser dan melakukan hal-hal yang berguna. Jika Anda sudah menginstal Google Chrome biasa, Anda bahkan tidak perlu mengunduh hal lain. Anda cukup membuka terminal dan menjalankan Chrome dalam mode tanpa kepala (headless).
Yang membuat browser headless istimewa adalah penggunaan sumber dayanya. Karena Chrome dalam mode headless tidak perlu menampilkan UI atau konten web, kecepatannya jauh lebih tinggi.
Kebanyakan orang menggunakannya untuk web scraping
Bayangkan Anda diminta untuk mengarsipkan Doom Wiki, atau hanya gambar-gambar dari Doom Wiki. Anda bisa membuka setiap halaman secara manual dan menyimpan gambar atau seluruh halaman sebagai HTML. Doom Wiki memiliki sekitar 20.000 halaman. Anda harus mengulangi langkah-langkah ini ribuan kali, dan akan memakan waktu lebih dari sebulan untuk mengumpulkan seluruh situs.
Sekarang, jika Anda menggunakan browser tanpa kepala seperti Chrome headless, seluruh proses bisa diotomatisasi dan diselesaikan dalam waktu kurang dari 10 menit. Proses ini disebut web scraping karena Anda 'mengikis' data dari sebuah situs web dan menyimpannya untuk digunakan secara offline.
Secara default, Anda dapat menggunakan perintah seperti ini untuk menjalankan Google Chrome dalam mode tanpa kepala dan menyimpan halaman depan Doom Wiki dalam file teks.
Tidak ada fitur tunggal di Google Chrome yang dapat secara otomatis "merayapi" dan menyimpan semua halaman di suatu situs web. Untuk benar-benar merayapi semua halaman di situs web, Anda memiliki dua opsi.
- Anda bisa menggunakan Linux atau Windows Subsystem for Linux (WSL) untuk menulis dan menjalankan skrip Bash yang secara otomatis mengunjungi setiap halaman website dan menyimpannya.
- Anda dapat menggunakan pustaka otomatisasi situs web khusus seperti Playwright atau Selenium. Misalnya, Anda dapat menulis skrip Python menggunakan Playwright (yang menggunakan Chrome headless) untuk mengotomatisasi pengambilan data dari web.
Situs web modern tidak memuat semua kontennya sekaligus. Pikirkan Instagram atau YouTube dan bagaimana mereka memuat konten secara dinamis berdasarkan preferensi Anda. Biasanya Anda harus berinteraksi dengan situs web, seperti mengklik tombol "Muat Lebih Banyak" atau menyelesaikan CAPTCHA. Skrip Bash sederhana cukup baik untuk mengikis halaman berbasis teks statis, tetapi perpustakaan khusus lebih baik untuk mengikis situs web dinamis.
Berikut adalah skrip Python menggunakan Playwright yang secara otomatis mengambil 100 artikel pertama di Doom Wiki.
Anda bisa mengotomatiskan hal-hal dengan Chrome tanpa kepala
Mengambil data dari halaman web secara otomatis adalah salah satu dari banyak hal yang bisa Anda otomatisasi dengan Chrome tanpa tampilan. Anda bisa mengotomatiskan pemantauan harga saham atau mencari daftar pekerjaan atau berita dari berbagai sumber.
Headless Chrome bisa menjalankan skrip yang menarik ribuan daftar pekerjaan relevan dari platform seperti Indeed atau LinkedIn. Anda bisa melacak bagaimana perbandingan harga antara berbagai pesaing setiap jam. Anda bisa mengumpulkan artikel berita ke dalam database lokal dari berbagai sumber berita. Alih-alih mengikis seluruh situs web, Anda juga bisa mengikis hashtag Twitter atau subreddit tertentu.
Anda bahkan bisa menjalankan aksi otomatis berdasarkan data yang diambil. Misalnya, Anda bisa menjalankan skrip yang mengisi survei atau aplikasi pekerjaan secara otomatis. Anda bisa menjalankan skrip yang memantau situs web untuk pembaruan seperti penjualan atau harga tiket dan mengirimkan peringatan kepada Anda atau bahkan menambahkan item target ke keranjang.
Ambil tangkapan layar tanpa membuka browser
dapat menyimpan beberapa halaman web sekaligus tanpa perlu membuka browser.
chrome --headless --print-to-pdf=output.pdf https://doom.fandom.com
Dengan menggunakan perintah sederhana, Chrome tanpa kepala (headless) dapat menghasilkan PDF dari halaman web. Cara kerjanya mirip dengan tombol "simpan sebagai PDF" di browser Chrome biasa Anda, tetapi lebih baik. Pertama, ia memuat halaman web jauh lebih cepat dan secara otomatis menyimpannya sebagai PDF atau PNG. Selain itu, ia bisa memproses halaman web secara batch jika Anda menaruh semua URL target dalam file teks dan menjalankan perintah yang sama pada file teks tersebut.
Anda mungkin pernah menggunakan Internet Archive atau Wayback Machine untuk mengunjungi arsip versi lama dari situs web. Mereka menggunakan skrip serupa untuk mengarsipkan situs web tersebut menggunakan instance browser tanpa kepala.
Pengembang menggunakannya untuk memeriksa kinerja situs dan menguji fitur
Jika situs web memerlukan waktu terlalu lama untuk dimuat, orang mungkin akan langsung meninggalkannya sebelum selesai dimuat. Google juga menurunkan peringkat situs jika lambat dimuat. Oleh karena itu, pengembang web menghabiskan banyak waktu dan usaha untuk membuat situs web mereka bekerja dengan baik. Mereka dapat memuat situs web mereka di browser biasa dan mendapatkan "perasaan" tentang seberapa cepat situs web dimuat. Namun, sistem biasa tidak efektif ketika Anda harus menguji ribuan halaman web. Ini juga tidak akurat.
Dengan menggunakan perintah Chrome dalam mode headless, seorang pengembang dapat memperoleh metrik kinerja yang tepat seperti rata-rata waktu muat halaman dalam hitungan detik. Mereka juga dapat memuat halaman dengan spesifikasi pembatasan jaringan tertentu. Ini juga memastikan hal-hal seperti ekstensi browser tidak mengganggu pengujian.
Otomasi web adalah kekuatan super karena dapat menghemat berjam-jam pekerjaan yang melelahkan. Browser tanpa tampilan adalah yang membuat otomasi web menjadi mungkin. Browser Anda bisa mengambil dan mengarsipkan seluruh situs web saat Anda tidur atau mengirimkan peringatan instan ketika sebuah toko menawarkan diskon pada produk yang Anda pedulikan.









