
Ethan Collins
Pattern Recognition Specialist
वेब स्क्रैपिंग वेबसाइटों से डेटा एकत्र करने के लिए एक आवश्यक कौशल बन गया है, चाहे वह बाजार विश्लेषण, शैक्षणिक शोध या कोई डेटा-संचालित प्रोजेक्ट हो। प्लेराइट एक उत्कृष्ट ब्राउज़र ऑटोमेशन टूल है जिसका उपयोग वेबसाइटों को कुशलतापूर्वक स्क्रैप करने के लिए किया जा सकता है, जो रूबी सहित कई भाषाओं के लिए समर्थन प्रदान करता है। इस गाइड में, हम उदाहरण के रूप में quotes.toscrape.com का उपयोग करके रूबी में प्लेराइट को कैसे सेट अप करें और उपयोग करें, इस पर चर्चा करेंगे।
प्लेराइट वेब परीक्षण के लिए एक आधुनिक स्वचालन ढांचा है, जो सेलेनियम के समान है लेकिन तेज निष्पादन और क्रोमियम, फ़ायरफ़ॉक्स और वेबकिट जैसे सभी आधुनिक ब्राउज़रों के लिए समर्थन के साथ। यह हेडलेस और हेडेड स्क्रैपिंग, पेज नेविगेशन, फॉर्म के साथ इंटरैक्ट करने और बहुत कुछ के लिए शक्तिशाली ब्राउज़र ऑटोमेशन टूल प्रदान करता है।
रूबी एक लोकप्रिय भाषा है जो अपनी सादगी और डेवलपर के अनुकूल सिंटैक्स के लिए जानी जाती है। रूबी के साथ प्लेराइट का उपयोग करके, आप रूबी के साफ और आसानी से पढ़ने योग्य कोड संरचना को बनाए रखते हुए आधुनिक ब्राउज़र ऑटोमेशन की शक्ति का लाभ उठा सकते हैं। प्लेराइट अपनी गति, अंतर्निहित प्रतीक्षा-के लिए स्थितियों और जावास्क्रिप्ट द्वारा लोड की गई गतिशील सामग्री से निपटने की क्षमता के कारण वेब स्क्रैपिंग के लिए आदर्श है।
रूबी में प्लेराइट के साथ स्क्रैपिंग शुरू करने के लिए, आपको कुछ चीजें सेट करनी होंगी:
सुनिश्चित करें कि आपकी मशीन पर रूबी स्थापित है। आप अपने टर्मिनल में निम्न कमांड चलाकर इसे जांच सकते हैं:
ruby -v
यदि रूबी स्थापित नहीं है, तो आप इसे rbenv के माध्यम से या सीधे रूबी की आधिकारिक साइट से इंस्टॉल कर सकते हैं।
अगला, आपको playwright-ruby-client जेम इंस्टॉल करना होगा। यह जेम रूबी के लिए प्लेराइट बाइंडिंग प्रदान करता है, जिससे आप ब्राउज़र के साथ प्रोग्रामेटिक रूप से इंटरैक्ट कर सकते हैं।
जेम इंस्टॉल करने के लिए निम्न कमांड चलाएँ:
gem install playwright-ruby-client
जेम इंस्टॉल करने के बाद, आपको प्लेराइट द्वारा समर्थित ब्राउज़र इंस्टॉल करने की आवश्यकता है। निम्न कमांड चलाएँ:
playwright install
यह प्लेराइट के साथ उपयोग के लिए क्रोमियम, फ़ायरफ़ॉक्स और वेबकिट डाउनलोड करेगा।
आइए एक सरल स्क्रैपिंग उदाहरण में उतरें जहां हम quotes.toscrape.com से उद्धरण निकालेंगे। वेबसाइट में लेखकों के साथ प्रसिद्ध उद्धरण शामिल हैं, जो स्क्रैपिंग अभ्यास के लिए एक बढ़िया संसाधन है।
सबसे पहले, आपको प्लेराइट को इनिशियलाइज़ करना होगा और एक ब्राउज़र (इस मामले में क्रोमियम) लॉन्च करना होगा। ऐसा करने का तरीका यहां दिया गया है:
require 'playwright-ruby-client'
Playwright.create(playwright_cli_executable_path: '/path/to/cli') do |playwright|
browser = playwright.chromium.launch(headless: true) # Launch headless browser
page = browser.new_page
page.goto('http://quotes.toscrape.com/')
puts "Page title: #{page.title}" # Optional: Print page title to verify it's loaded correctly
# Close the browser
browser.close
end
इस स्निपेट में, प्लेराइट एक हेडलेस क्रोमियम ब्राउज़र में quotes.toscrape.com पेज खोलता है।
अब, हम पेज से उद्धरण और उनके लेखकों को स्क्रैप करना चाहते हैं। ऐसा करने के लिए, हमें पेज संरचना का निरीक्षण करने और उद्धरण और लेखकों वाले तत्वों की पहचान करने की आवश्यकता है।
यहां वह कोड दिया गया है जो उद्धरण और उनके संबंधित लेखकों को निकालता है:
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/')
# Find all quote elements
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 "Quote: #{text} - Author: #{author}"
end
browser.close
end
यह स्क्रिप्ट वेबसाइट पर जाने के लिए प्लेराइट का उपयोग करता है, उद्धरण पाठ और लेखक निकालता है, और फिर उन्हें कंसोल में प्रिंट करता है। .quote क्लास प्रत्येक उद्धरण ब्लॉक को लक्षित करता है, और हम प्रासंगिक जानकारी निकालने के लिए .text और .author का उपयोग करते हैं।
उद्धरण वेबसाइट पेजिनेशन का उपयोग करती है, इसलिए आप केवल पहले पेज को ही नहीं, बल्कि सभी पेजों को स्क्रैप करना चाह सकते हैं। पेजिनेशन को कैसे हैंडल करें, इसके लिए यहां बताया गया है:
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 "Quote: #{text} - Author: #{author}"
end
next_button = page.query_selector('li.next > a')
break unless next_button # Exit loop if no next page
next_button.click
page.wait_for_load_state('load') # Wait for the next page to load
end
browser.close
end
यह कोड "अगला" बटन पर क्लिक करके प्रत्येक पेज के माध्यम से लूप करता है जब तक कि और कोई पेज नहीं होता। यह हर पेज से उद्धरण और लेखकों को निकालना जारी रखता है।
यह मार्गदर्शिका बताती है कि रूबी में प्लेराइट के साथ कैपसॉल्वर ब्राउज़र एक्सटेंशन का उपयोग करके एचकैप्चा / रीकैप्चा को कैसे हल किया जाए। कैपसॉल्वर कैप्चा को सीधे हल करने के लिए अतिरिक्त कोड लिखे बिना उन्हें संभालने का एक आसान तरीका प्रदान करता है।
सबसे पहले, सुनिश्चित करें कि प्लेराइट स्थापित है:
gem install playwright-ruby-client
कैपसॉल्वर एक्सटेंशन डाउनलोड करें:
./CapSolver.Browser.Extension।एक्सटेंशन को कॉन्फ़िगर करें:
./assets/config.json का पता लगाएँ।enabledForcaptcha को true पर सेट करें और स्वचालित समाधान के लिए captchaMode को token पर समायोजित करें।उदाहरण config.json:
{
"enabledForcaptcha": true,
"captchaMode": "token"
// other settings remain the same
}
यहां बताया गया है कि आप कैपसॉल्वर एक्सटेंशन को प्लेराइट ब्राउज़र में कैसे लोड कर सकते हैं:
प्लेराइट की आवश्यकता है और पथ सेट करें:
require 'playwright-ruby-client'
require 'fileutils'
# Get the path for the CapSolver extension directory
extension_path = File.join(Dir.pwd, 'CapSolver.Browser.Extension')
कैपसॉल्वर एक्सटेंशन के साथ ब्राउज़र लॉन्च करें:
प्लेराइट का उपयोग करके कैपसॉल्वर एक्सटेंशन लोड किए गए क्रोमियम ब्राउज़र को लॉन्च करें।
Playwright.create(playwright_cli_executable_path: '/path/to/cli') do |playwright|
browser = playwright.chromium.launch_persistent_context('', {
headless: false, # Run with a visible browser for debugging
args: [
"--disable-extensions-except=#{extension_path}",
"--load-extension=#{extension_path}"
]
})
page = browser.new_page
page.goto('https://quotes.toscrape.com/') # Replace with the target URL
# Locate the captcha checkbox or frame and interact with it
page.wait_for_selector('iframe', state: 'visible') # Adjust the selector to target captcha iframe
page.click('iframe') # Adjust the click event for your captcha's interaction
# Additional steps can be added based on the site’s requirements
browser.close
end
रीकैप्चा को हल करने के लिए चरण एचकैप्चा के समान हैं।
शीर्ष कैप्चा समाधानों के लिए अपना बोनस कोड कैपसॉल्वर पर प्राप्त करें: scrape। इसे रिडीम करने के बाद, आपको प्रत्येक रिचार्ज के बाद 5% अतिरिक्त बोनस मिलेगा, असीमित बार।

वेब स्क्रैपिंग के लिए रूबी में प्लेराइट का उपयोग करने से वेबसाइटों से डेटा निकालने का एक कुशल और शक्तिशाली तरीका मिलता है। चाहे वह सरल स्थिर सामग्री हो या गतिशील रूप से लोड किए गए पेज, प्लेराइट दोनों को आसानी से संभालता है। इस ट्यूटोरियल में, हमने एक वेबसाइट से उद्धरण और लेखकों को स्क्रैप किया, लेकिन प्लेराइट बहुत कुछ कर सकता है - जैसे फॉर्म के साथ इंटरैक्ट करना, स्क्रीनशॉट लेना या ब्राउज़र-आधारित परीक्षण चलाना।
यदि आप रूबी में वेब स्क्रैपिंग के लिए एक मजबूत उपकरण की तलाश कर रहे हैं, तो प्लेराइट एक बेहतरीन विकल्प है। इसे सेट अप करना आसान है, तेज़ है, और विभिन्न स्क्रैपिंग कार्यों को संभालने के लिए काफी लचीला है।
लिनक्स पर वेब स्क्रैपिंग सेट करें, पायथन, प्रॉक्सी और CAPTCHA के प्रबंधन के साथ। एक प्रायोगिक डेवलपर गाइड जो स्क्रैपी, प्लेयराइट, कैपसॉल्वर और डेटा पाइपलाइन को कवर करता है।

जानें कि क्लाउडफ़्लेयर एरर 1020 एक्सेस अस्वीकृत के क्या कारण होते हैं, कैसे वेब एप्लिकेशन फ़ायरवॉल और बॉट डिटेक्शन काम करते हैं, और विकासकर्ता कैसे वैध स्वचालन प्रक्रियाओं में गलत सकारात्मकों को कम कर सकते हैं।
