ProdukIntegrasiSumber DayaDokumentasiHarga
Mulai Sekarang

© 2026 CapSolver. All rights reserved.

Hubungi Kami

Slack: lola@capsolver.com

Produk

  • reCAPTCHA v2
  • reCAPTCHA v3
  • Cloudflare Turnstile
  • Cloudflare Challenge
  • AWS WAF
  • Ekstensi Browser
  • Lebih banyak jenis CAPTCHA

Integrasi

  • Selenium
  • Playwright
  • Puppeteer
  • n8n
  • Mitra
  • Lihat semua integrasi

Sumber Daya

  • Program Referensi
  • Dokumentasi
  • Referensi API
  • Blog
  • FAQ
  • Glosarium
  • Status

Legal

  • Ketentuan Layanan
  • Kebijakan Privasi
  • Kebijakan Pengembalian Dana
  • Jangan jual informasi pribadi saya
Blog/All/Cara Menggunakan Playwright di Ruby untuk Web Scraping
Oct10, 2024

Cara Menggunakan Playwright di Ruby untuk Web Scraping

Anh Tuan

Anh Tuan

Data Science Expert

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 Copy
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 Copy
gem install playwright-ruby-client

3. Instal Browser

Setelah menginstal gem, Anda perlu menginstal browser yang didukung oleh Playwright. Jalankan perintah berikut:

bash Copy
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 Copy
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 Copy
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 Copy
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 Copy
gem install playwright-ruby-client

Langkah 2: Unduh dan Konfigurasikan Ekstensi CapSolver

  1. Unduh ekstensi CapSolver:

    • Unduh ekstensi CapSolver dari halaman rilis CapSolver GitHub.
    • Ekstrak ekstensi ke direktori di root proyek Anda, seperti ./CapSolver.Browser.Extension.
  2. Konfigurasikan Ekstensi:

    • Temukan file konfigurasi ./assets/config.json di direktori ekstensi CapSolver.
    • Tetapkan opsi enabledForcaptcha ke true dan sesuaikan captchaMode ke token untuk penyelesaian otomatis.

    Contoh config.json:

    json Copy
    {
      "enabledForcaptcha": true,
      "captchaMode": "token"
      // pengaturan lainnya tetap sama
    }

Langkah 3: Siapkan Playwright dengan Ekstensi CapSolver

Berikut cara Anda memuat ekstensi CapSolver ke browser Playwright:

  1. Harus Playwright dan Tetapkan Jalur:

    ruby Copy
    require 'playwright-ruby-client'
    require 'fileutils'
    
    # Dapatkan jalur untuk direktori ekstensi CapSolver
    extension_path = File.join(Dir.pwd, 'CapSolver.Browser.Extension')
  2. Luncurkan Browser dengan Ekstensi CapSolver:
    Gunakan Playwright untuk meluncurkan browser Chromium dengan ekstensi CapSolver yang dimuat.

    ruby Copy
    Playwright.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.

Lihat Lebih Banyak

May 06, 2026

Cara Menyelesaikan Tantangan AWS WAF Tanpa Browser: Panduan Teknis

Pelajari cara menyelesaikan tantangan AWS WAF dan CAPTCHA tanpa menggunakan browser. Gunakan API CapSolver untuk menghasilkan token dan mengelak kode status 405.

Emma Foster
Emma Foster
Apr 30, 2026

Web Scraping di Linux: Alat, Pengaturan & Panduan Praktis

Bangun pengambilan data web di Linux dengan Python, proxies, dan penanganan CAPTCHA. Panduan pengembang praktis yang mencakup Scrapy, Playwright, CapSolver, dan pipa data.

Emma Foster
Emma Foster

Daftar Isi

Apr 30, 2026

Kesalahan Cloudflare 1020: Akses Ditolak dalam Web Scraping & Perlindungan WAF

Pelajari apa yang memicu Kesalahan Cloudflare 1020 Akses Ditolak, bagaimana Firewall Aplikasi Web dan deteksi bot bekerja, dan bagaimana pengembang dapat mengurangi kesalahan positif dalam alur kerja otomatis yang sah.

Emma Foster
Emma Foster
Apr 29, 2026

Ekstensi Pemecah CAPTCHA Otomatis Terbaik untuk Chrome pada 2026

Temukan ekstensi Chrome solver CAPTCHA otomatis terbaik pada 2026. Bandingkan CapSolver NopeCHA dan SolveCaptcha berdasarkan kecepatan jenis yang didukung dan privasi untuk menemukan yang sesuai.

Emma Foster
Emma Foster