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% अनुपालन सुनिश्चित करते हैं। हम अपनी सेवाओं के जिम्मेदार उपयोग की प्रोत्साहना करते हैं। अधिक जानकारी के लिए, कृपया हमारी सेवा की शर्तें और गोपनीयता नीति पर जाएं।
अधिक

कॉर्पोरेट स्वचालन को उन्नत करते हुए: LLM-संचालित बुनियादी ढांचा सीमाहीन CAPTCHA पहचान एवं संचालन की कार्यक्षमता
जानें कि LLM-संचालित कृत्रिम बुद्धिमत्ता ऑटोमेशन इंफ्रास्ट्रक्चर CAPTCHA पहचान को बदल देता है, व्यवसाय प्रक्रिया की कार्यक्षमता में सुधार करता है और मैनुअल हस्तक्षेप कम करता है। उन्नत सत्यापन समाधानों के साथ अपने स्वचालित संचालन को अधिकतम करें।

Rajinder Singh
30-Mar-2026

LLM ट्रेनिंग के लिए डेटा संग्रह के पैमाने को बढ़ाना: CAPTCHAs को पैमाने पर हल करना
LLM प्रशिक्षण के लिए पैमाने पर डेटा संग्रह कैसे करें, जैसे कि CAPTCHAs को हल करके। AI मॉडल के लिए उच्च गुणवत्ता वाले डेटासेट बनाने के लिए स्वचालित रणनीतियाँ खोजें।

Emma Foster
27-Mar-2026

CAPTCHA कैसे हल करें OpenBrowser में CapSolver का उपयोग करके (AI एजेंट स्वचालन गाइड)
OpenBrowser में CapSolver के माध्यम से CAPTCHA हल करें। AI एजेंट के लिए reCAPTCHA, Turnstile आदि को स्वचालित करें आसानी से।

Rajinder Singh
26-Mar-2026

कैसे कोई भी CAPTCHA हल करें HyperBrowser में CapSolver का उपयोग करके (पूर्ण सेटअप गाइड)
हाइपरब्राउज़र में कैपसॉल्वर के उपयोग से कोई भी CAPTCHA हल करें। reCAPTCHA, Turnstile, AWS WAF आदि को स्वचालित करें और अधिक आसानी से।

Rajinder Singh
26-Mar-2026

वेबएमसीपी विरुद्ध एमसीपी: एआई एजेंट्स के लिए अंतर क्या है?
AI एजेंट्स के लिए WebMCP और MCP के मुख्य अंतरों का अन्वेषण करें, वेब ऑटोमेशन और संरचित डेटा अंतःक्रिया में उनकी भूमिकाओं को समझें। ये प्रोटोकॉल AI एजेंट क्षमताओं के भविष्य को कैसे आकार देते हैं, इसके बारे में सीखें।

Rajinder Singh
13-Mar-2026

कैप्चा हल करने का तरीका ओपनक्लॉ में – चरण-दर-चरण गाइड कैपसॉल्वर एक्सटेंशन के साथ
OpenClaw में CAPTCHA हल करने का तरीका सीखें, सुचारू AI ब्राउजर ऑटोमेशन के लिए CapSolver क्रोम एक्सटेंशन का उपयोग करें।

Rajinder Singh
06-Mar-2026

