मानव यातायात का अनुकरण करने के लिए प्लगइन का उपयोग करें
npm install -S puppeteer nextcaptcha-ts
import NextCaptcha from 'nextcaptcha-ts';
import puppeteer from 'puppeteer';
फिर, Chrome इंस्टेंस खोलें और डेमो पेज पर जाएँ.
const url = "https://www.google.com/recaptcha/api2/demo"
const browser = await puppeteer.launch({});
const page = await browser.newPage();
await page.goto(url, {
waitUntil: 'networkidle0',
});
अगला चरण CAPTCHA वेबसाइटकी और वेबसाइटURL को NextCaptcha क्लाइंट में ढूँढना है, जो टेक्स्ट समाधान लौटाता है। इसे data.solution.gRecaptchaResponse वैरिएबल में सेव करें।
const data = await client.recaptchaV2({websiteKey, websiteURL: url});
console.log('gRecaptchaResponse: ', data.solution.gRecaptchaResponse);
console.log('submitting form .. ');
await Promise.all([
page.click('#recaptcha-demo-submit'),
page.waitForNavigation({ waitUntil: "networkidle0" })
]);
console.log('making a screenshot ...');
await page.screenshot({ path: 'screenshot.png' });
console.log('closing browser .. ');
await browser.close();
import NextCaptcha from 'nextcaptcha-ts';
import puppeteer from 'puppeteer';
const url = "https://bot.sannysoft.com"
const browser = await puppeteer.launch({
headless: true
});
const page = await browser.newPage();
await page.goto(url, {
waitUntil: 'networkidle0',
});
console.log('making a screenshot ...');
await page.screenshot({ path: 'screenshot.png' });
await sleep(30000)
console.log('closing browser .. ');
await browser.close();
function sleep(time = 1000) {
return new Promise((resolve) => {
setTimeout(() => {
resolve(true)
}, time)
})
}
यह दिखाएगा कि क्या वेबड्राइव मौजूद है (विफल)
पहुँच अस्वीकृत! sannysoft ने गैर-मानवीय ट्रैफ़िक का पता लगाया और हमारे बॉट को ब्लॉक कर दिया। यहीं पर puppeteer-extra-plugin-stealth, puppeteer-extra और playwright-extra के लिए एक प्लगइन है जो पता लगाने से रोकता है, बचाव के लिए आता है। यह आपके ट्रैफ़िक को ज़्यादा मैन्युअल दिखाएगा और ब्लॉक होने से बचाएगा, यानी CAPTCHAs के साथ।
आरंभ करने के लिए, स्टील्थ पैकेज स्थापित करें
npm install puppeteer-extra puppeteer-extra-plugin-stealth
import puppeteer from 'puppeteer-extra';
import puppeteer-extra-plugin-stealth from 'puppeteer-extra-plugin-stealth';
const StealthPlugin = require('puppeteer-extra-plugin-stealth')
puppeteer.use(StealthPlugin())
फिर कठपुतली को सामान्य रूप से उपयोग करें
const url = "https://bot.sannysoft.com"
const browser = await puppeteer.launch({
headless: true
});
const page = await browser.newPage();
await page.goto(url, {
waitUntil: 'networkidle0',
});
console.log('making a screenshot ...');
await page.screenshot({ path: 'screenshot.png' });
await sleep(30000)
console.log('closing browser .. ');
await browser.close();
function sleep(time = 1000) {
return new Promise((resolve) => {
setTimeout(() => {
resolve(true)
}, time)
})
}
आइये आउटपुट पर नजर डालें: