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

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

Logo of CapSolver

Nikolai Smirnov

Software Development Lead

27-Sep-2024

वेब स्क्रैपिंग डेटा संग्रह को स्वचालित करने और परिवर्तनों के लिए वेबसाइटों की निगरानी करने के लिए एक अनिवार्य उपकरण बन गया है। इस ब्लॉग पोस्ट में, हम देखेंगे कि वेब स्क्रैपिंग, किसी वेबसाइट पर होने वाले परिवर्तनों का पता लगाने और इन परिवर्तनों के स्क्रीनशॉट लेने के लिए Puppeteer, एक Node.js लाइब्रेरी, का उपयोग कैसे करें।

Puppeteer क्या है?

Puppeteer एक Node.js लाइब्रेरी है जो DevTools प्रोटोकॉल के माध्यम से हेडलेस क्रोम या क्रोमियम को नियंत्रित करने के लिए एक उच्च-स्तरीय API प्रदान करती है। इसका उपयोग वेब स्क्रैपिंग, स्वचालित परीक्षण या यहां तक ​​कि वेब पेजों के स्क्रीनशॉट और PDF उत्पन्न करने के लिए भी किया जा सकता है।

पूर्वापेक्षाएँ

शुरू करने से पहले, सुनिश्चित करें कि आपके पास निम्नलिखित स्थापित हैं:

  • Node.js
  • NPM (Node.js के साथ आता है)

आप अपने टर्मिनल में निम्न कमांड चलाकर Puppeteer स्थापित कर सकते हैं:

bash Copy
npm install puppeteer

Puppeteer के साथ बेसिक वेब स्क्रैपिंग

शुरू करने के लिए, आइए एक मूल वेब स्क्रैपर बनाएँ जो किसी वेबसाइट पर नेविगेट करता है और टेक्स्ट सामग्री निकालता है।

javascript Copy
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 Copy
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 Copy
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 Copy
npm install node-cron

अब, अपनी स्क्रिप्ट को एक निर्धारित अंतराल (जैसे, हर 5 मिनट) पर चलने के लिए संशोधित करें:

javascript Copy
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 का उपयोग कैसे करें। इन तकनीकों के साथ, आप वेबसाइटों की निगरानी कर सकते हैं और अपडेट को स्वचालित रूप से ट्रैक कर सकते हैं। सेवा की शर्तों का उल्लंघन करने से बचने के लिए वेबसाइट स्क्रैपिंग नीतियों की जांच करना सुनिश्चित करें।

Copy

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

अधिक

वेब स्क्रैपिंग में इमेज CAPTCHAs को कैसे हल करें: 2025 के लिए एक संपूर्ण गाइड
वेब स्क्रैपिंग में इमेज CAPTCHAs को कैसे हल करें: 2025 के लिए एक संपूर्ण गाइड

2025 में CapSolver के साथ प्रभावी ढंग से इमेज CAPTCHA को हल करना सीखें

Logo of CapSolver

Rajinder Singh

23-Jan-2025

reCAPTCHA पहचान क्या है? शुरुआती लोगों के लिए एक मार्गदर्शिका
reCAPTCHA पहचान क्या है? शुरुआती लोगों के लिए एक मार्गदर्शिका

reCAPTCHA इमेज ग्रिड से जूझ रहे हैं? जानें कि कैसे Capsolver का AI-संचालित पहचान 'सभी का चयन करें' चुनौतियों को तुरंत हल करता है। API एकीकरण, ब्राउज़र एक्सटेंशन और 95%+ सटीकता के साथ CAPTCHA को स्वचालित करने के लिए प्रो टिप्स जानें

Logo of CapSolver

Rajinder Singh

23-Jan-2025

2025 में वेब स्क्रैपिंग करते समय Cloudflare चुनौती को कैसे बायपास करें
2025 में वेब स्क्रैपिंग करते समय Cloudflare चुनौती को कैसे बायपास करें

2025 में निर्बाध वेब स्क्रैपिंग के लिए Cloudflare Challenge और Turnstile को कैसे बायपास करें, यह जानें। Capsolver इंटीग्रेशन, TLS फ़िंगरप्रिंटिंग टिप्स और CAPTCHA नर्क से बचने के लिए सामान्य त्रुटियों के समाधान खोजें। समय बचाएँ और अपने डेटा निष्कर्षण को स्केल करें।

Logo of CapSolver

Emma Foster

23-Jan-2025

एक्सटेंशन द्वारा क्लाउडफ्लेयर टर्नस्टाइल CAPTCHA कैसे हल करें
एक्सटेंशन द्वारा क्लाउडफ्लेयर टर्नस्टाइल CAPTCHA कैसे हल करें

Capsolver के एक्सटेंशन से Cloudflare Turnstile CAPTCHA को कैसे बायपास करें, यह जानें। Chrome, Firefox और Puppeteer जैसे ऑटोमेशन टूल्स के लिए इंस्टॉलेशन गाइड।

Logo of CapSolver

Ethan Collins

23-Jan-2025

reCAPTCHA साइट कुंजी क्या है और इसे कैसे ढूंढें?
reCAPTCHA Site Key क्या है और यह कैसे प्राप्त करें?

reCAPTCHA Site Key को मैन्युअली या Capsolver जैसे टूल्स से कैसे ढूँढें, सामान्य समस्याओं को कैसे ठीक करें और डेवलपर्स और वेब स्क्रैपिंग के लिए CAPTCHA सॉल्विंग को कैसे ऑटोमेट करें, यह जानें।

Logo of CapSolver

Anh Tuan

23-Jan-2025

2025 में reCAPTCHA पहचान के लिए शीर्ष 5 कैप्चा सॉल्वर
2025 में reCAPTCHA पहचान के लिए शीर्ष 5 कैप्चा सॉल्वर

2025 के शीर्ष 5 CAPTCHA सॉल्वरों का अन्वेषण करें, जिसमें तेज़ reCAPTCHA पहचान के लिए AI-संचालित CapSolver भी शामिल है। यहाँ गति, मूल्य और सटीकता की तुलना करें

Logo of CapSolver

Anh Tuan

23-Jan-2025