paint-brush
Podignite svoj projekat struganja uz pomoć Puppeteer Extraby@brightdata
291 čitanja

Podignite svoj projekat struganja uz pomoć Puppeteer Extra

by Bright Data6m2024/09/04
Read on Terminal Reader

Predugo; Citati

Puppeteer Extra poboljšava Puppeteer dodavanjem podrške za dodatke kako bi se uhvatio u koštac s njegovim ograničenjima. Ovaj lagani omot uvodi dodatke za zadatke kao što su izbjegavanje otkrivanja botova, rješavanje CAPTCHA i blokiranje neželjenih resursa. Uprkos svojim prednostima, napredni anti-bot sistemi i dalje mogu otkriti Puppeteera. Istražite dodatke Puppeteer Extra kako biste unaprijedili svoju igru scrapinga, ali imajte na umu da sofisticirana odbrana botova i dalje može predstavljati izazove.
featured image - Podignite svoj projekat struganja uz pomoć Puppeteer Extra
Bright Data HackerNoon profile picture
0-item

Kao što je istaknuto u našem vodiču za web scraping pomoću Puppeteer-a , ova biblioteka za automatizaciju pretraživača je fantastičan saveznik za vađenje podataka sa web lokacija sa dinamičkim sadržajem. Ipak, kao i svaki drugi alat, ima svojih nedostataka. Tu stupa Puppeteer Extra!


U ovom vodiču ćemo vas upoznati sa puppeteer-extra — bibliotekom koja obavija puppeteer kako bi ga proširila podrškom za dodatke. Spremite se da podignete svoj projekat Puppeteer struganja na viši nivo! 🚀

Šta je Puppeteer Extra?

Puppeteer Extra je lagani omot oko puppeteer koji omogućava integraciju dodataka kroz čist interfejs. Iako ga nije razvio tim koji stoji iza Puppeteer-a , ovaj projekat vođen zajednice ima stotine hiljada preuzimanja sedmično i preko 6k zvjezdica na GitHubu 📈.


Pogledajte GitHub tabelu zvijezda u nastavku — jasno je da je repo puppeteer-extra u stalnom porastu popularnosti tokom godina: Uspon Puppeteer Extra na GitHubu

Dodaci koje Puppeteer Extra službeno podržava su:

Povrh toga, integrira se sa sljedećim dodacima zajednice:

Zašto nam je uopće potrebna dodatna verzija Puppeteer-a?

Bez sumnje, Puppeteer je jedna od najboljih biblioteka pretraživača bez glave za scraping i testiranje . Ali budimo iskreni – to ima svoja ograničenja, posebno kada se suočite sa anti-bot tehnologijom poput otiska prsta u pretraživaču i CAPTCHA. Pročitajte naš vodič da naučite kako se nositi s reCAPTCHA automatizacijom .


Veb lokacije naoružane odbranom protiv robota mogu lako otkriti i blokirati Puppeteer skripte. Kad bi barem postojao način da se proširi i prilagodi zadano ponašanje Puppeteera...


…pa, to je upravo ono o čemu je Puppeteer Extra!

Puppeteer Extra vs Puppeteer

Puppeteer Extra je poput pojačanja za Puppeteer, koji dodaje podršku za dodatke za rješavanje tih velikih nedostataka. Umjesto da poništi ili proširi sve umjesto vas, on obavija Puppeteer i omogućava vam da registrujete samo dodatke koji su vam potrebni. 🦸

puppeteer-extra : Postavljanje i dodaci za Web Scraping

Možete dodati Puppeteer Extra u npm zavisnosti vašeg projekta sa:

 npm install puppeteer-extra


⚠️ Napomena : puppeteer-extra zahtijeva puppeteer da radi, stoga provjerite jesu li oba paketa instalirana u vašem projektu.


Zatim morate uvesti puppeteer objekat iz puppeteer-extra umjesto iz biblioteke puppeteer :

 const puppeteer = require("puppeteer-extra") // for ESM users: // const { puppeteer } from "puppeteer-extra"

Sve u Puppeteer API-ju ostaje isto, ali dobijate malo dodatne magije ✨. Objekt puppeteer sada izlaže metodu use() za uključivanje dodataka Puppeteer Extra.


Vrijeme je da zaronite u ono što ovi dodaci mogu učiniti i vidjeti kako će poboljšati vašu igru scrapinga!

puppeteer-extra-plugin-stealth

Puppeteer Extra Plugin Stealth , također poznat jednostavno kao Puppeteer Stealth, uključuje skup konfiguracija dizajniranih da smanje otkrivanje botova. On nadjačava Puppeteer-ova svojstva i postavke koje se mogu otkriti koje bi ga mogle izložiti kao bota.


Za više detalja, pogledajte naš vodič o tome kako izbjeći blokiranje pomoću Puppeteer Stealtha .


⚙️ Instalacija :

 npm install puppeteer-extra-plugin-stealth


💡 Upotreba :

 const StealthPlugin = require("puppeteer-extra-plugin-stealth") // for ESM users: // import StealthPlugin from "puppeteer-extra-plugin-stealth" puppeteer.use(StealthPlugin())

puppeteer-extra-plugin-block-resources

Dodatak koji sprečava da pretraživač Puppeteer učitava određene resurse. Podržani tipovi resursa uključuju document , stylesheet , image , media , font , script , texttrack , xhr , fetch , eventsource , websocket , manifest , other .


Blokiranje resursa može se konfigurirati i globalno i lokalno.


⚙️ Instalacija :

 npm install puppeteer-extra-plugin-block-resources


💡 Upotreba :

 const BlockResourcesPlugin = require("puppeteer-extra-plugin-block-resources") // for ESM users: // import BlockResourcesPlugin from "puppeteer-extra-plugin-block-resources"


Zatim možete konfigurirati resurse za globalno blokiranje na svim stranicama:

 puppeteer.use(BlockResourcesPlugin({ blockedTypes: new Set(["image", "stylesheet"]), }))


Slično, možete lokalno odabrati resurse koji će biti blokirani:

 puppeteer.use(BlockResourcesPlugin() const browser = await puppeteer.launch() const page = await browser.newPage() blockResourcesPlugin.blockedTypes.add("stylesheet") await page.goto("https://www.example.com/", { waitUntil: "domcontentloaded" })

puppeteer-extra-plugin-anonymize-ua

Dodatak za anonimizaciju User-Agent postavljenog od strane pretraživača koji kontroliše Puppeteer. 🎭


Daje vam mogućnost da skinete 'Headless' string iz Chrome korisničkog agenta u bezglavom načinu rada i podržava dinamičku zamjenu korisničkog agenta putem prilagođene funkcije. Pogledajte to u akciji u našem vodiču za korisničkog agenta Puppeteer-a .


Otkrijte koji je najbolji korisnički agent za web scraping!


⚙️ Instalacija :

 npm install puppeteer-extra-plugin-anonymize-ua


💡 Upotreba :

 const AnonymizeUAPlugin = require("puppeteer-extra-plugin-anonymize-ua") // for ESM users: // import AnonymizeUAPlugin from "puppeteer-extra-plugin-anonymize-ua"


Zatim možete konfigurirati anonimnog korisničkog agenta:

 puppeteer.use(AnonymizeUAPlugin({ stripHeadless: true, }))


Također, možete postaviti dinamičkog korisničkog agenta putem prilagođene funkcije:

 puppeteer.use(AnonymizeUAPlugin({ customFn: (ua) => ua.replace("Chrome", "Chromium")}) }))

Puppeteer Extra nije rješenje za lijek

Baš kao i kod Playwright-a , bez obzira na to koliko je vaša skripta Puppeteer uglađena i prilagođena, napredni anti-bot sistemi i dalje vas mogu nanjušiti i isključiti. Ali kako je to uopće moguće? 🤔


Dokumentacija puppeteer-extra-stealth-plugin a vam to rastavlja:

Napomena: smatram da je ovo prijateljsko takmičenje u prilično zanimljivoj igri mačke i miša. Ako drugi tim (👋) želi otkriti bezglavi hrom, još uvijek postoje načini za to (barem sam primijetio nekoliko, kojima ću se pozabaviti u budućim ažuriranjima).


Vjerojatno je nemoguće spriječiti sve načine otkrivanja hroma bez glave, ali bi trebalo biti moguće učiniti to toliko teškim da postane skupo ili izazove previše lažnih pozitivnih rezultata da bi bilo izvodljivo.


Dakle, dok Puppeteer Extra može izbjeći najosnovniju detekciju botova kao što je Neo u Matrixu, ne može sigurno zaobići Cloudflare . Naravno, mogli biste integrirati proxy u Puppeteer , ali čak ni to možda neće biti dovoljno.


Problem nije sam Puppeteer (jer budimo realni, Puppeteer rocks! 🤘), već pretraživač kojim upravlja. Pravo rješenje? Moćan pretraživač koji:

  • Radi u načinu rada sa glavom kao običan pretraživač kako bi se smanjila detekcija botova.
  • Skala u oblaku za vas, štedeći vam vrijeme i troškove u upravljanju infrastrukturom.
  • Nudi rotirajuće IP adrese koje pokreće jedna od najvećih i najpouzdanijih proxy mreža na tržištu.
  • Automatski upravlja rješavanjem CAPTCHA, otiskom prstiju u pretraživaču, prilagođavanjem kolačića i zaglavlja i ponovnim pokušajima za optimalnu efikasnost.
  • Besprekorno se integriše sa vodećim bibliotekama za automatizaciju pretraživača kao što su Playwright, Selenium i Puppeteer.


Vjerovali ili ne, ovo nije neki daleki san. Stvarno je, i to je upravo ono što Bright Data Scraping Browser može ponuditi!

Final Thoughts

Puppeteer je jedan od najčešće korištenih alata za automatizaciju pretraživača u svijetu tehnologije, ali čak i superheroji imaju svoja ograničenja. Zajednica je uskočila s puppeteer-extra , paketom koji Puppeteeru daje neke ozbiljno cool nove sposobnosti putem prilagođenih dodataka.


Ali evo u čemu je stvar: iako ovi dodaci mogu učiniti vašu operaciju struganja mnogo jačom, oni vas neće magično pretvoriti u duha 👻. Web lokacije s naprednom detekcijom botova možda će vas i dalje moći blokirati!


Zaobiđite sve anti-botove pomoću Bright Data-ovog Scraping pretraživača—preglednika u oblaku koji se ne može otkriti i koji se neprimjetno integrira sa Puppeteer-om . Pridružite se našoj misiji da učinimo Web javnim prostorom za sve, svuda, čak i putem automatizovanih skripti.


Do sljedećeg puta, nastavite da istražujete Internet sa slobodom! 🌐

L O A D I N G
. . . comments & more!

About Author

Bright Data HackerNoon profile picture
Bright Data@brightdata
From data collection to ready-made datasets, Bright Data allows you to retrieve the data that matters.

HANG TAGS

OVAJ ČLANAK JE PREDSTAVLJEN U...