CAPSOLVER
Blog
Sử dụng Playwright với Ruby: Hướng dẫn từng bước cho năm 2024

Sử dụng Playwright với Ruby: Hướng dẫn từng bước cho năm 2024

Logo of CapSolver

Lucas Mitchell

Automation Engineer

02-Sep-2024

Sử dụng Playwright với Ruby: Hướng dẫn từng bước cho năm 2024

Web scraping đã trở thành một kỹ năng cần thiết cho các nhà phát triển cần thu thập dữ liệu từ các trang web. Playwright, một công cụ tự động hóa trình duyệt mạnh mẽ, thường được sử dụng cho mục đích này. Trong hướng dẫn này, chúng ta sẽ khám phá cách sử dụng Playwright với Ruby để trích xuất dữ liệu từ một trang web. Chúng ta sẽ đi qua một ví dụ thực tế bằng cách sử dụng trang web Quotes to Scrape.

Điều kiện tiên quyết

Trước khi bắt đầu, hãy đảm bảo rằng bạn đã cài đặt những thứ sau trên máy của mình:

  • Ruby (Phiên bản 2.7 trở lên)
  • Node.js (Playwright yêu cầu Node.js để chạy)
  • Playwright Gem (Bao bọc Ruby cho Playwright)

Bạn có thể cài đặt các phụ thuộc cần thiết bằng cách chạy:

bash Copy
gem install playwright-ruby-client

Cài đặt Playwright

Sau khi cài đặt gem playwright-ruby-client, bạn cần thiết lập Playwright trong tập lệnh Ruby của mình. Đây là cách bạn có thể làm điều đó:

ruby Copy
require 'playwright'

Playwright.create(playwright_cli_executable_path: '/path/to/node_modules/.bin/playwright') do |playwright|
  browser = playwright.chromium.launch(headless: false)
  page = browser.new_page
  page.goto('http://quotes.toscrape.com/')
  
  # Mã trích xuất ví dụ sẽ được đưa vào đây
  
  browser.close
end

Thay thế '/path/to/node_modules/.bin/playwright' bằng đường dẫn thực tế đến Playwright CLI trên hệ thống của bạn.

Trích xuất Trích dẫn từ Trang web

Bây giờ, hãy viết mã để trích xuất trích dẫn từ trang web. Chúng ta sẽ trích xuất văn bản của mỗi trích dẫn và tác giả tương ứng.

ruby Copy
require 'playwright'

Playwright.create(playwright_cli_executable_path: '/path/to/node_modules/.bin/playwright') do |playwright|
  browser = playwright.chromium.launch(headless: false)
  page = browser.new_page
  page.goto('http://quotes.toscrape.com/')
  
  quotes = page.query_selector_all('.quote')

  quotes.each do |quote|
ruby Copy
require 'playwright'

Playwright.create do |playwright|
  browser = playwright.chromium.launch
  page = browser.new_page

  page.goto('http://quotes.toscrape.com/')

  page.query_selector_all('.quote').each do |quote|
    quote_text = quote.query_selector('.text').text_content.strip
    author = quote.query_selector('.author').text_content.strip
    puts "#{quote_text} - #{author}"
  end

  browser.close
end

Hướng dẫn này đã chỉ cho bạn cách thiết lập Playwright với Ruby và trích xuất dữ liệu từ một trang web. Ví dụ được sử dụng ở đây rất đơn giản nhưng có thể được mở rộng cho các tác vụ phức tạp hơn. Khả năng tự động hóa các tác vụ trình duyệt của Playwright biến nó thành một công cụ mạnh mẽ để trích xuất dữ liệu web và kiểm tra.

Chúc bạn trích xuất dữ liệu vui vẻ!

Tuyên bố Tuân thủ: Thông tin được cung cấp trên blog này chỉ mang tính chất tham khảo. CapSolver cam kết tuân thủ tất cả các luật và quy định hiện hành. Việc sử dụng mạng lưới CapSolver cho các hoạt động bất hợp pháp, gian lận hoặc lạm dụng là hoàn toàn bị cấm và sẽ bị điều tra. Các giải pháp giải captcha của chúng tôi nâng cao trải nghiệm người dùng trong khi đảm bảo tuân thủ 100% trong việc giúp giải quyết các khó khăn về captcha trong quá trình thu thập dữ liệu công khai. Chúng tôi khuyến khích việc sử dụng dịch vụ của chúng tôi một cách có trách nhiệm. Để biết thêm thông tin, vui lòng truy cập Điều khoản Dịch vụ và Chính sách Quyền riêng tư.

Thêm

Lỗi Cloudflare 1006, 1007, 1008
Lỗi Cloudflare 1006, 1007, 1008 - Giải pháp khắc phục | Cách sửa lỗi

Đang vật lộn với lỗi Cloudflare 1006, 1007 hoặc 1008? Tìm hiểu các giải pháp thực tế để giải quyết các lần từ chối truy cập này và nâng cao trải nghiệm quét web của bạn.

Cloudflare
Logo of CapSolver

Rajinder Singh

05-Dec-2025

AI-LLM: Giải pháp tương lai cho kiểm soát rủi ro nhận dạng hình ảnh và giải mã CAPTCHA
AI-LLM: Giải pháp tương lai cho Kiểm soát Rủi ro Nhận dạng Hình ảnh và Giải quyết CAPTCHA

Một khám phá sâu về cách các mô hình ngôn ngữ lớn (LLMs) đổi mới giải CAPTCHA đồ họa, kết hợp suy luận zero-shot với độ chính xác của mạng nơ-ron convolutional (CNN) cho kiểm soát rủi ro hiện đại.

Logo of CapSolver

Anh Tuan

05-Dec-2025

Cách giải Captchas khi web scraping với Scrapling và CapSolver
Cách giải Captchas khi quét web bằng Scrapling và CapSolver

Scrapling + CapSolver cho phép quét trang web tự động với việc vượt qua ReCaptcha v2/v3 và Cloudflare Turnstile.

web scraping
Logo of CapSolver

Anh Tuan

05-Dec-2025

Thay đổi User-Agent trong Selenium
Thay đổi User-Agent trong Selenium | Các bước và Nguyên tắc tốt

Thay đổi User Agent trong Selenium là bước quan trọng trong nhiều nhiệm vụ quét web. Giúp che giấu script tự động hóa thành một trình duyệt thông thường...

The other captcha
Logo of CapSolver

Lucas Mitchell

05-Dec-2025

Làm thế nào để xác định nếu `action` được yêu cầu để giải quyết Cloudflare Turnstile bằng cách sử dụng tiện ích mở rộng CapSolver
Làm thế nào để xác định xem `action` có cần thiết hay không để giải Cloudflare Turnstile bằng cách sử dụng tiện ích mở rộng CapSolver

Học cách nhận diện hành động để giải CAPTCHA hiệu quả cho Cloudflare Turnstile. Theo dõi hướng dẫn từng bước của chúng tôi về cách sử dụng các công cụ và kỹ thuật của Capsolver.

Cloudflare
Logo of CapSolver

Aloísio Vítor

05-Dec-2025

9trung gian
Khám phá sức mạnh của 9Proxy: Bài đánh giá toàn diện

Trong bài viết này, chúng tôi sẽ giới thiệu 9proxy và các dịch vụ mà họ cung cấp.

Partners
Logo of CapSolver

Nikolai Smirnov

04-Dec-2025