Puppeteer का उपयोग करके वेब स्क्रैपिंग: वेबसाइट परिवर्तनों का पता लगाना और स्क्रीनशॉट लेना

Nikolai Smirnov
Software Development Lead
27-Sep-2024

वेब स्क्रैपिंग डेटा संग्रह को स्वचालित करने और परिवर्तनों के लिए वेबसाइटों की निगरानी करने के लिए एक अनिवार्य उपकरण बन गया है। इस ब्लॉग पोस्ट में, हम देखेंगे कि वेब स्क्रैपिंग, किसी वेबसाइट पर होने वाले परिवर्तनों का पता लगाने और इन परिवर्तनों के स्क्रीनशॉट लेने के लिए Puppeteer, एक Node.js लाइब्रेरी, का उपयोग कैसे करें।
Puppeteer क्या है?
Puppeteer एक Node.js लाइब्रेरी है जो DevTools प्रोटोकॉल के माध्यम से हेडलेस क्रोम या क्रोमियम को नियंत्रित करने के लिए एक उच्च-स्तरीय API प्रदान करती है। इसका उपयोग वेब स्क्रैपिंग, स्वचालित परीक्षण या यहां तक कि वेब पेजों के स्क्रीनशॉट और PDF उत्पन्न करने के लिए भी किया जा सकता है।
पूर्वापेक्षाएँ
शुरू करने से पहले, सुनिश्चित करें कि आपके पास निम्नलिखित स्थापित हैं:
आप अपने टर्मिनल में निम्न कमांड चलाकर Puppeteer स्थापित कर सकते हैं:
bash
npm install puppeteer
Puppeteer के साथ बेसिक वेब स्क्रैपिंग
शुरू करने के लिए, आइए एक मूल वेब स्क्रैपर बनाएँ जो किसी वेबसाइट पर नेविगेट करता है और टेक्स्ट सामग्री निकालता है।
javascript
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
// वेबसाइट पर नेविगेट करें
await page.goto('https://example.com');
// टेक्स्ट सामग्री निकालें
const content = await page.evaluate(() => {
return document.querySelector('h1').innerText;
});
console.log('पेज सामग्री:', content);
await browser.close();
})();
यह स्क्रिप्ट एक हेडलेस ब्राउज़र खोलता है, example.com पर नेविगेट करता है, और <h1> तत्व से टेक्स्ट निकालता है। आप उस वेबसाइट के URL को बदल सकते हैं जिसे आप स्क्रैप करना चाहते हैं और जिस तत्व में आपकी रुचि है उसे मिलाने के लिए चयनकर्ता को समायोजित कर सकते हैं।
Puppeteer के साथ स्क्रीनशॉट लेना
Puppeteer आपको वेब पेजों के स्क्रीनशॉट आसानी से लेने की अनुमति देता है। आप पूरे पेज के स्क्रीनशॉट या पेज के विशिष्ट क्षेत्रों को कैप्चर कर सकते हैं।
पूरा पेज स्क्रीनशॉट लेने का तरीका यहां दिया गया है:
javascript
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
// वेबसाइट पर नेविगेट करें
await page.goto('https://example.com');
// पूरा पेज स्क्रीनशॉट लें
await page.screenshot({ path: 'screenshot.png', fullPage: true });
await browser.close();
})();
यह स्क्रिप्ट पूरे पेज का स्क्रीनशॉट screenshot.png के रूप में सहेजता है। आप एक अलग फ़ाइल नाम या स्थान निर्दिष्ट करने के लिए path को संशोधित कर सकते हैं।
वेबसाइट परिवर्तनों का पता लगाना
वेब स्क्रैपिंग में परिवर्तनों के लिए किसी वेबसाइट की निगरानी करना एक उपयोगी सुविधा है। आप इसे वेबसाइट की सामग्री को बार-बार जांचकर और उसकी तुलना पहले से सहेजे गए संस्करण से करके प्राप्त कर सकते हैं।
यहां टेक्स्ट परिवर्तनों का पता लगाने और सामग्री बदलने पर स्क्रीनशॉट लेने का एक उदाहरण दिया गया है:
javascript
const puppeteer = require('puppeteer');
const fs = require('fs');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
// वेबसाइट पर नेविगेट करें
await page.goto('https://example.com');
// टेक्स्ट सामग्री निकालें
const currentContent = await page.evaluate(() => {
return document.querySelector('h1').innerText;
});
const previousContentPath = 'previous-content.txt';
let previousContent = '';
// जांचें कि क्या पिछली सामग्री मौजूद है
if (fs.existsSync(previousContentPath)) {
previousContent = fs.readFileSync(previousContentPath, 'utf8');
}
// पिछली सामग्री के साथ वर्तमान सामग्री की तुलना करें
if (currentContent !== previousContent) {
console.log('सामग्री बदल गई है!');
// नई सामग्री सहेजें
fs.writeFileSync(previousContentPath, currentContent);
// परिवर्तन का स्क्रीनशॉट लें
await page.screenshot({ path: `screenshot-${Date.now()}.png`, fullPage: true });
console.log('स्क्रीनशॉट सहेजा गया!');
} else {
console.log('कोई बदलाव नहीं पाया गया।');
}
await browser.close();
})();
इस उदाहरण में:
- स्क्रिप्ट
<h1>तत्व की सामग्री निकालता है। - यह पहले से सहेजे गए संस्करण (
previous-content.txt) के साथ वर्तमान सामग्री की तुलना करता है। - यदि कोई परिवर्तन पाया जाता है, तो यह एक स्क्रीनशॉट लेता है और फ़ाइल नाम में एक टाइमस्टैम्प के साथ इसे सहेजता है, यह सुनिश्चित करता है कि प्रत्येक स्क्रीनशॉट अद्वितीय है।
- भविष्य की तुलना के लिए नई सामग्री
previous-content.txtमें सहेजी जाती है।
स्क्रैपर को नियमित रूप से चलाने के लिए शेड्यूलिंग
आप node-cron पैकेज का उपयोग करके इस स्क्रिप्ट को अंतराल पर चलाने के लिए शेड्यूल करने के लिए Node.js का उपयोग कर सकते हैं।
सबसे पहले, node-cron स्थापित करें:
bash
npm install node-cron
अब, अपनी स्क्रिप्ट को एक निर्धारित अंतराल (जैसे, हर 5 मिनट) पर चलने के लिए संशोधित करें:
javascript
const puppeteer = require('puppeteer');
const fs = require('fs');
const cron = require('node-cron');
cron.schedule('*/5 * * * *', async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
const currentContent = await page.evaluate(() => {
return document.querySelector('h1').innerText;
});
const previousContentPath = 'previous-content.txt';
let previousContent = '';
if (fs.existsSync(previousContentPath)) {
previousContent = fs.readFileSync(previousContentPath, 'utf8');
}
if (currentContent !== previousContent) {
console.log('सामग्री बदल गई है!');
fs.writeFileSync(previousContentPath, currentContent);
await page.screenshot({ path: `screenshot-${Date.now()}.png`, fullPage: true });
console.log('स्क्रीनशॉट सहेजा गया!');
} else {
console.log('कोई बदलाव नहीं पाया गया।');
}
await browser.close();
});
यह स्क्रिप्ट हर 5 मिनट (*/5 * * * *) चलेगा और वेबसाइट पर परिवर्तनों की जांच करेगा। यदि यह कोई परिवर्तन पता लगाता है, तो यह एक स्क्रीनशॉट लेगा और अपडेट को लॉग करेगा।
बोनस कोड
CapSolver पर शीर्ष कैप्चा समाधानों के लिए अपना बोनस कोड प्राप्त करें: scrape. इसे रिडीम करने के बाद, आपको प्रत्येक रिचार्ज के बाद 5% अतिरिक्त बोनस मिलेगा, असीमित बार।

निष्कर्ष
Puppeteer वेब स्क्रैपिंग और ब्राउज़र कार्यों को स्वचालित करने के लिए एक शक्तिशाली उपकरण है। इस पोस्ट में, हमने प्रदर्शित किया कि बेसिक वेब स्क्रैपिंग, वेबसाइट परिवर्तनों का पता लगाने और इन परिवर्तनों के स्क्रीनशॉट लेने के लिए Puppeteer का उपयोग कैसे करें। इन तकनीकों के साथ, आप वेबसाइटों की निगरानी कर सकते हैं और अपडेट को स्वचालित रूप से ट्रैक कर सकते हैं। सेवा की शर्तों का उल्लंघन करने से बचने के लिए वेबसाइट स्क्रैपिंग नीतियों की जांच करना सुनिश्चित करें।
अनुपालन अस्वीकरण: इस ब्लॉग पर प्रदान की गई जानकारी केवल सूचनात्मक उद्देश्यों के लिए है। CapSolver सभी लागू कानूनों और विनियमों का पालन करने के लिए प्रतिबद्ध है। CapSolver नेटवर्क का उपयोग अवैध, धोखाधड़ी या दुरुपयोग करने वाली गतिविधियों के लिए करना सख्त वर्जित है और इसकी जांच की जाएगी। हमारे कैप्चा समाधान उपयोगकर्ता अनुभव को बेहतर बनाने के साथ-साथ सार्वजनिक डेटा क्रॉलिंग के दौरान कैप्चा कठिनाइयों को हल करने में 100% अनुपालन सुनिश्चित करते हैं। हम अपनी सेवाओं के जिम्मेदार उपयोग की प्रोत्साहना करते हैं। अधिक जानकारी के लिए, कृपया हमारी सेवा की शर्तें और गोपनीयता नीति पर जाएं।
अधिक

वेब स्क्रैपिंग करते समय कैप्चा से कैसे निपटें
CAPTCHA चुनौतियां अक्सर वेब स्क्रैपिंग वर्कफ़्लो को अवरोधित करती हैं। CapSolver एक API और ब्राउज़र एक्सटेंशन प्रदान करता है जो कई प्रकार के CAPTCHA हल करता है, चलती डेटा निकासी को बनाए रखने और स्वचालन की दक्षता में सुधार करने में मदद करता है।

Emma Foster
15-Dec-2025

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

Aloísio Vítor
15-Dec-2025

reCAPTCHA क्या है? ReCAPTCHA का उदाहरण कहाँ है? reCAPTCHA डेमो
इस लेख में reCAPTCHA के बारे में व्यापक अवलोकन, इसके सामान्य प्रकार और इसके काम करने के तरीके को समझने में मदद करने वाला एक लाइव डेमो प्रदान किया गया है। इसके अलावा, इस लेख में CapSolver के उपयोग से reCAPTCHA v2 को कुशलतापूर्वक हल करने के तरीके को दिखाया गया है, जो स्वचालन और विकास प्रक्रियाओं को बढ़ावा देता है जबकि वेबसाइट सुरक्षा बनाए रखता है।

Rajinder Singh
15-Dec-2025

Sample Post
सीखें बोटासॉरस (पायथन वेब स्क्रैपिंग फ्रेमवर्क) के साथ कैपसॉल्वर API को एकीकृत करें ताकि reCAPTCHA v2/v3 और Turnstile स्वचालित रूप से हल किए जा सकें।

Rajinder Singh
15-Dec-2025

AdsPower: अपनी कमाई की संभावना खोलें AdsPower ब्राउज़र के साथ
इस लेख में, हम आपको दिखाएंगे कि AdsPower क्या है और जो वे प्रदान करते हैं सेवाएं।

Nikolai Smirnov
15-Dec-2025

CAPTCHA 2026 हल करने के लिए सबसे अच्छा एक्सटेंशन क्या है?
ऑनलाइन सुरक्षा की लगातार बदलती दुनिया में, कैप्चा चुनौतियां इंटरनेट उपयोगकर्ताओं के लिए एक सामान्य बाधा बन गई हैं।

Sora Fujimoto
12-Dec-2025

