Cara Menggunakan Playwright di Ruby untuk Web Scraping

Anh Tuan
Data Science Expert
08-Oct-2024
Web scraping telah menjadi keterampilan penting untuk mengumpulkan data dari situs web, baik untuk analisis pasar, penelitian akademis, atau proyek yang didorong data. Playwright adalah alat otomatisasi browser yang sangat baik yang dapat digunakan untuk mengikis situs web secara efisien, menawarkan dukungan untuk berbagai bahasa, termasuk Ruby. Dalam panduan ini, kita akan membahas cara menyiapkan dan menggunakan Playwright di Ruby untuk mengikis situs web, menggunakan quotes.toscrape.com sebagai contoh.
Apa itu Playwright?
Playwright adalah kerangka kerja otomatisasi modern untuk pengujian web, mirip dengan Selenium tetapi dengan eksekusi yang lebih cepat dan dukungan untuk semua browser modern seperti Chromium, Firefox, dan WebKit. Ini menawarkan alat otomatisasi browser yang ampuh untuk pengikisan tanpa kepala dan berkepala, navigasi halaman, berinteraksi dengan formulir, dan banyak lagi.
Mengapa Menggunakan Playwright dengan Ruby?
Ruby adalah bahasa populer yang dikenal karena kesederhanaannya dan sintaks yang ramah pengembang. Dengan menggunakan Playwright dengan Ruby, Anda dapat memanfaatkan kekuatan otomatisasi browser modern sambil mempertahankan struktur kode Ruby yang bersih dan mudah dibaca. Playwright sangat ideal untuk pengikisan web karena kecepatannya, kondisi tunggu bawaan, dan kemampuan untuk menangani konten dinamis yang dimuat oleh JavaScript.
Menyiapkan Playwright di Ruby
Untuk mulai mengikis dengan Playwright di Ruby, Anda perlu menyiapkan beberapa hal:
1. Instal Ruby
Pastikan Anda memiliki Ruby yang terinstal di komputer Anda. Anda dapat memeriksa ini dengan menjalankan perintah berikut di terminal Anda:
bash
ruby -v
Jika Ruby belum terinstal, Anda dapat menginstalnya melalui rbenv atau langsung dari situs resmi Ruby.
2. Instal Playwright Gem
Selanjutnya, Anda perlu menginstal gem playwright-ruby-client. Gem ini menyediakan ikatan Playwright untuk Ruby, memungkinkan Anda berinteraksi dengan browser secara terprogram.
Jalankan perintah berikut untuk menginstal gem:
bash
gem install playwright-ruby-client
3. Instal Browser
Setelah menginstal gem, Anda perlu menginstal browser yang didukung oleh Playwright. Jalankan perintah berikut:
bash
playwright install
Ini akan mengunduh Chromium, Firefox, dan WebKit untuk digunakan dengan Playwright.
Contoh Pengikisan: Mengikis Kutipan dari Situs Web
Mari kita selami contoh pengikisan sederhana di mana kita akan mengekstrak kutipan dari quotes.toscrape.com. Situs web berisi kutipan terkenal bersama dengan penulisnya, menjadikannya sumber daya yang bagus untuk latihan pengikisan.
Langkah 1: Inisialisasi Playwright dan Luncurkan Browser
Pertama, Anda perlu menginisialisasi Playwright dan meluncurkan browser (Chromium dalam hal ini). Berikut cara melakukannya:
ruby
require 'playwright-ruby-client'
Playwright.create(playwright_cli_executable_path: '/path/to/cli') do |playwright|
browser = playwright.chromium.launch(headless: true) # Luncurkan browser tanpa kepala
page = browser.new_page
page.goto('http://quotes.toscrape.com/')
puts "Judul halaman: #{page.title}" # Opsional: Cetak judul halaman untuk memverifikasi bahwa halaman tersebut dimuat dengan benar
# Tutup browser
browser.close
end
Dalam cuplikan ini, Playwright membuka halaman quotes.toscrape.com di browser Chromium tanpa kepala.
Langkah 2: Mengikis Kutipan dan Penulis
Sekarang, kita ingin mengikis kutipan dan penulisnya dari halaman tersebut. Untuk melakukan ini, kita perlu memeriksa struktur halaman dan mengidentifikasi elemen yang berisi kutipan dan penulis.
Berikut kode yang mengekstrak kutipan dan penulis masing-masing:
ruby
require 'playwright-ruby-client'
Playwright.create(playwright_cli_executable_path: '/path/to/cli') do |playwright|
browser = playwright.chromium.launch(headless: true)
page = browser.new_page
page.goto('http://quotes.toscrape.com/')
# Temukan semua elemen kutipan
quotes = page.query_selector_all('.quote')
quotes.each do |quote|
text = quote.query_selector('.text').text_content.strip
author = quote.query_selector('.author').text_content.strip
puts "Kutipan: #{text} - Penulis: #{author}"
end
browser.close
end
Skrip ini menggunakan Playwright untuk mengunjungi situs web, mengekstrak teks kutipan dan penulis, dan kemudian mencetaknya ke konsol. Kelas .quote menargetkan setiap blok kutipan, dan kita menggunakan .text dan .author untuk mengekstrak informasi yang relevan.
Langkah 3: Menangani Paginasi
Situs web kutipan menggunakan paginasi, jadi Anda mungkin ingin mengikis semua halaman, bukan hanya halaman pertama. Berikut cara menangani paginasi:
ruby
require 'playwright-ruby-client'
Playwright.create(playwright_cli_executable_path: '/path/to/cli') do |playwright|
browser = playwright.chromium.launch(headless: true)
page = browser.new_page
page.goto('http://quotes.toscrape.com/')
loop do
quotes = page.query_selector_all('.quote')
quotes.each do |quote|
text = quote.query_selector('.text').text_content.strip
author = quote.query_selector('.author').text_content.strip
puts "Kutipan: #{text} - Penulis: #{author}"
end
next_button = page.query_selector('li.next > a')
break unless next_button # Keluar dari loop jika tidak ada halaman berikutnya
next_button.click
page.wait_for_load_state('load') # Tunggu halaman berikutnya dimuat
end
browser.close
end
Kode ini mengulangi setiap halaman dengan mengklik tombol "Berikutnya" hingga tidak ada halaman lagi. Kode ini terus mengekstrak kutipan dan penulis dari setiap halaman.
Panduan Langkah Demi Langkah: Menyelesaikan captcha Menggunakan Playwright dan CapSolver di Ruby
Panduan ini menjelaskan cara menyelesaikan captcha / reCaptcha menggunakan ekstensi browser CapSolver dengan Playwright di Ruby. CapSolver memberikan cara mudah untuk menangani captcha tanpa menulis kode tambahan untuk langsung menyelesaikannya.
Langkah 1: Instal Playwright dan Ketergantungan
Pertama, pastikan Anda memiliki Playwright yang terinstal:
bash
gem install playwright-ruby-client
Langkah 2: Unduh dan Konfigurasikan Ekstensi CapSolver
-
Unduh ekstensi CapSolver:
- Unduh ekstensi CapSolver dari halaman rilis CapSolver GitHub.
- Ekstrak ekstensi ke direktori di root proyek Anda, seperti
./CapSolver.Browser.Extension.
-
Konfigurasikan Ekstensi:
- Temukan file konfigurasi
./assets/config.jsondi direktori ekstensi CapSolver. - Tetapkan opsi
enabledForcaptchaketruedan sesuaikancaptchaModeketokenuntuk penyelesaian otomatis.
Contoh
config.json:json{ "enabledForcaptcha": true, "captchaMode": "token" // pengaturan lainnya tetap sama } - Temukan file konfigurasi
Langkah 3: Siapkan Playwright dengan Ekstensi CapSolver
Berikut cara Anda memuat ekstensi CapSolver ke browser Playwright:
-
Harus Playwright dan Tetapkan Jalur:
rubyrequire 'playwright-ruby-client' require 'fileutils' # Dapatkan jalur untuk direktori ekstensi CapSolver extension_path = File.join(Dir.pwd, 'CapSolver.Browser.Extension') -
Luncurkan Browser dengan Ekstensi CapSolver:
Gunakan Playwright untuk meluncurkan browser Chromium dengan ekstensi CapSolver yang dimuat.rubyPlaywright.create(playwright_cli_executable_path: '/path/to/cli') do |playwright| browser = playwright.chromium.launch_persistent_context('', { headless: false, # Jalankan dengan browser yang terlihat untuk debugging args: [ "--disable-extensions-except=#{extension_path}", "--load-extension=#{extension_path}" ] }) page = browser.new_page page.goto('https://quotes.toscrape.com/') # Ganti dengan URL target # Temukan kotak centang atau bingkai captcha dan berinteraksi dengannya page.wait_for_selector('iframe', state: 'visible') # Sesuaikan pemilih untuk menargetkan iframe captcha page.click('iframe') # Sesuaikan acara klik untuk interaksi captcha Anda # Langkah tambahan dapat ditambahkan berdasarkan persyaratan situs browser.close end
Langkah-langkah untuk menyelesaikan reCaptcha sama dengan captcha.
Kode Bonus
Klaim Kode Bonus Anda untuk solusi captcha teratas di CapSolver: scrape. Setelah menebus, Anda akan mendapatkan bonus tambahan 5% setelah setiap isi ulang, tanpa batas.

Kesimpulan
Menggunakan Playwright di Ruby untuk pengikisan web menawarkan cara yang efisien dan kuat untuk mengekstrak data dari situs web. Baik itu konten statis sederhana atau halaman yang dimuat secara dinamis, Playwright menangani keduanya dengan mudah. Dalam tutorial ini, kita mengikis kutipan dan penulis dari situs web, tetapi Playwright dapat melakukan lebih banyak lagi—seperti berinteraksi dengan formulir, mengambil tangkapan layar, atau bahkan menjalankan pengujian berbasis browser.
Jika Anda mencari alat yang kuat untuk pengikisan web di Ruby, Playwright adalah pilihan yang sangat baik. Mudah diatur, cepat, dan cukup fleksibel untuk menangani berbagai tugas pengikisan.
Pernyataan Kepatuhan: Informasi yang diberikan di blog ini hanya untuk tujuan informasi. CapSolver berkomitmen untuk mematuhi semua hukum dan peraturan yang berlaku. Penggunaan jaringan CapSolver untuk kegiatan ilegal, penipuan, atau penyalahgunaan sangat dilarang dan akan diselidiki. Solusi penyelesaian captcha kami meningkatkan pengalaman pengguna sambil memastikan kepatuhan 100% dalam membantu menyelesaikan kesulitan captcha selama pengambilan data publik. Kami mendorong penggunaan layanan kami secara bertanggung jawab. Untuk informasi lebih lanjut, silakan kunjungi Syarat Layanan dan Kebijakan Privasi.
Lebih lanjut

Crawl4AI vs Firecrawl: Perbandingan Komprehensif & Ulasan 2026
Bandingkan Crawl4AI vs Firecrawl pada 2026. Temukan fitur, harga, dan kinerja alat pengambilan data web AI ini untuk ekstraksi markdown yang siap untuk LLM.

Sora Fujimoto
04-Feb-2026

Cara Menyelesaikan Captcha di EasySpider dengan Integrasi CapSolver
EasySpider adalah alat pengambilan data web dan otomatisasi browser visual, tanpa kode, dan ketika dikombinasikan dengan CapSolver, dapat menyelesaikan CAPTCHA seperti reCAPTCHA v2 dan Cloudflare Turnstile secara andal, memungkinkan pengambilan data otomatis yang mulus di berbagai situs web.

Emma Foster
04-Feb-2026

Cara menyelesaikan reCAPTCHA v2 di Relevance AI dengan Integrasi CapSolver
Kembangkan alat Relevance AI untuk menyelesaikan reCAPTCHA v2 menggunakan CapSolver. Otomatisasi pengajuan formulir melalui API tanpa otomatisasi browser.

Ethan Collins
03-Feb-2026

Larangan IP pada 2026: Bagaimana Cara Kerjanya dan Cara Praktis untuk Mengelaknya
Pelajari cara menghindari pembatasan IP pada 2026 dengan panduan lengkap kami. Temukan teknik pemblokiran IP modern dan solusi praktis seperti proxy residensial dan solver CAPTCHA.

Emma Foster
26-Jan-2026

Top 9 Kerangka Agen Kecerdasan Buatan pada 2026
Jelajahi 9 kerangka kerja agen AI teratas untuk 2026, termasuk CrewAI, AutoGen, dan LangGraph. Pelajari cara memilih kerangka kerja terbaik untuk pengaturan agen multi dan pengembangan agen otonom, serta temukan alat penting untuk interaksi web dunia nyata.

Emma Foster
26-Jan-2026

Penggunaan Browser vs Browserbase: Manakah Alat Otomatisasi Browser yang Lebih Baik untuk Agen AI?
Bandingkan Penggunaan Browser dengan Browserbase untuk otomatisasi agen AI. Jelajahi fitur, harga, dan cara menyelesaikan CAPTCHA dengan CapSolver untuk alur kerja yang mulus.

Anh Tuan
26-Jan-2026

