Bu bələdçidə biz sizi puppeteer-extra
ilə tanış edəcəyik — puppeteer
plagin dəstəyi ilə genişləndirmək üçün onu əhatə edən kitabxana. Puppeteer kazıma layihənizi növbəti səviyyəyə aparmağa hazır olun! 🚀
təmiz interfeys vasitəsilə plagin inteqrasiyasına imkan verən puppeteer
ətrafına yüngül sarğıdır. O, arxasında duran komanda tərəfindən hazırlanmasa da, icma tərəfindən idarə olunan bu layihənin GitHub 📈-də həftəlik yüz minlərlə endirmə və 6k-dan çox ulduzu var.
baxın — aydındır ki, puppeteer-extra
repo illər ərzində davamlı olaraq populyarlıq qazanır:
User-Agent
başlığını dinamik dəyişdirmə dəstəyi ilə bütün səhifələrdə anonimləşdirmək üçün.Şübhəsiz ki, Puppeteer biridir. Ancaq gəlin dürüst olaq - xüsusən brauzer barmaq izi və CAPTCHA kimi anti-bot texnologiyası ilə qarşılaşdıqda bunun öz məhdudiyyətləri var. reCAPTCHA avtomatlaşdırılması ilə necə məşğul olmağı öyrənmək üçün bələdçimizi oxuyun.
Puppeteer Extra, bu böyük çatışmazlıqları aradan qaldırmaq üçün plagin dəstəyi əlavə edərək, Kukla üçün gücləndirici kimidir. Sizin üçün hər şeyi ləğv etmək və ya genişləndirmək əvəzinə, o, Puppeteer-i əhatə edir və yalnız sizə lazım olan plaginləri qeydiyyatdan keçirməyə imkan verir. 🦸
puppeteer-extra
: Veb Scraping üçün Quraşdırma və Pluginlər npm install puppeteer-extra
⚠️ Qeyd : puppeteer-extra
işləmək üçün puppeteer
tələb edir, ona görə də hər iki paketin layihənizdə quraşdırıldığından əmin olun.
Sonra puppeteer
obyektini puppeteer
kitabxanası əvəzinə puppeteer-extra
idxal etməlisiniz:
const puppeteer = require("puppeteer-extra") // for ESM users: // const { puppeteer } from "puppeteer-extra"
Puppeteer API-də hər şey eyni qalır, lakin siz bir az əlavə sehr əldə edirsiniz ✨. puppeteer
obyekti indi Puppeteer Extra plaginlərini qoşmaq üçün use()
metodunu ifşa edir.
⚙️ Quraşdırma :
npm install puppeteer-extra-plugin-stealth
💡 İstifadəsi :
const StealthPlugin = require("puppeteer-extra-plugin-stealth") // for ESM users: // import StealthPlugin from "puppeteer-extra-plugin-stealth" puppeteer.use(StealthPlugin())
Puppeteer brauzerinin xüsusi resursları yükləməsinin qarşısını alan plagin. Dəstəklənən resurs növlərinə document
, stylesheet
, image
, media
, font
, script
, texttrack
, xhr
, fetch
, eventsource
, websocket
, manifest
və other
daxildir .
⚙️ Quraşdırma :
npm install puppeteer-extra-plugin-block-resources
💡 İstifadəsi :
const BlockResourcesPlugin = require("puppeteer-extra-plugin-block-resources") // for ESM users: // import BlockResourcesPlugin from "puppeteer-extra-plugin-block-resources"
puppeteer.use(BlockResourcesPlugin({ blockedTypes: new Set(["image", "stylesheet"]), }))
puppeteer.use(BlockResourcesPlugin() const browser = await puppeteer.launch() const page = await browser.newPage() blockResourcesPlugin.blockedTypes.add("stylesheet") await page.goto("//www.example.com/", { waitUntil: "domcontentloaded" })
Puppeteer tərəfindən idarə olunan brauzer tərəfindən müəyyən edilmiş User-Agent
anonimləşdirmək üçün plagin. 🎭
Bu, başsız rejimdə Chrome istifadəçi agentindən 'Headless'
sətrini çıxarmaq imkanı verir və xüsusi funksiya vasitəsilə istifadəçi agentinin dinamik dəyişdirilməsini dəstəkləyir. buna baxın.
⚙️ Quraşdırma :
npm install puppeteer-extra-plugin-anonymize-ua
💡 İstifadəsi :
const AnonymizeUAPlugin = require("puppeteer-extra-plugin-anonymize-ua") // for ESM users: // import AnonymizeUAPlugin from "puppeteer-extra-plugin-anonymize-ua"
puppeteer.use(AnonymizeUAPlugin({ stripHeadless: true, }))
puppeteer.use(AnonymizeUAPlugin({ customFn: (ua) => ua.replace("Chrome", "Chromium")}) }))
Playwright ilə olduğu kimi , Kukla skriptiniz nə qədər səliqəli və fərdiləşdirilmiş olsa da, qabaqcıl anti-bot sistemləri hələ də sizi iyləyə və bağlaya bilər. Bəs bu necə mümkündür? 🤔
puppeteer-extra-stealth-plugin
onu sizin üçün parçalayır:
Diqqət edin: Mən bunu kifayət qədər maraqlı pişik-siçan oyununda dostluq yarışması hesab edirəm. Digər komanda (👋) başsız xromu aşkar etmək istəyirsə, bunun hələ də yolları var (ən azı bir neçəsini qeyd etdim, gələcək yeniləmələrdə həll edəcəyəm).Başsız xromun aşkarlanmasının bütün yollarının qarşısını almaq, yəqin ki, mümkün deyil, lakin bunu o qədər çətinləşdirmək mümkün olmalıdır ki, o, xərci qadağan edəcək və ya mümkün olması üçün çoxlu yalan pozitivlərə səbəb olacaq.
Beləliklə, Puppeteer Extra Matrix-də Neo kimi ən əsas bot aşkarlanmasından yayına bilsə də, o, şübhəsiz ki, Cloudflare-dən yan keçə bilməz. Əlbətdə ki, siz edə bilərsiniz, lakin hətta bu kifayət olmaya bilər.
Puppeteer texnologiya dünyasında ən çox istifadə edilən brauzer avtomatlaşdırma vasitələrindən biridir, lakin hətta super qəhrəmanların da öz məhdudiyyətləri var. İcma xüsusi plaginlər vasitəsilə Puppeteer-ə bəzi ciddi yeni qabiliyyətlər verən puppeteer-extra
paketi ilə addım atdı.