paint-brush
Подигнете го вашиот проект за стружење со Puppeteer Extraод страна на@brightdata
358 читања
358 читања

Подигнете го вашиот проект за стружење со Puppeteer Extra

од страна на Bright Data6m2024/09/04
Read on Terminal Reader

Премногу долго; Да чита

Puppeteer Extra го подобрува Puppeteer со додавање поддршка за приклучоци за да се справи со неговите ограничувања. Оваа лесна обвивка воведува приклучоци за задачи како што се избегнување откривање бот, решавање на CAPTCHA и блокирање на несакани ресурси. И покрај неговите силни страни, напредните системи против ботови сè уште можат да го детектираат Puppeteer. Истражете ги приклучоците на Puppeteer Extra за да ја подигнете вашата игра за гребење на веб, но имајте предвид дека софистицираните одбрани на ботови сè уште можат да претставуваат предизвици.
featured image - Подигнете го вашиот проект за стружење со Puppeteer Extra
Bright Data HackerNoon profile picture
0-item

Како што е нагласено во нашиот водич за стругање веб со Puppeteer , оваа библиотека за автоматизација на прелистувачот е фантастичен сојузник за извлекување податоци од страници со динамична содржина. Сепак, како и секоја друга алатка, има свои недостатоци. Таму влегува Puppeteer Extra!


Во овој водич, ќе ве запознаеме со puppeteer-extra — библиотека што го обвива puppeteer за да го прошири со поддршка за приклучоци. Подгответе се да го однесете вашиот проект за стружење Puppeteer на следното ниво! 🚀

Што е тоа Puppeteer Extra?

Puppeteer Extra е лесна обвивка околу puppeteer која овозможува интеграција на приклучокот преку чист интерфејс. Иако не е развиен од тимот зад Puppeteer , овој проект управуван од заедницата има стотици илјади неделни преземања и над 6 илјади ѕвезди на GitHub 📈.


Проверете ја табелата со ѕвезди на GitHub подолу - јасно е дека puppeteer-extra е во постојан пораст на популарноста со текот на годините: Подемот на Puppeteer Extra на GitHub

Приклучоците официјално поддржани од Puppeteer Extra се:

  • puppeteer-extra-plugin-stealth : За да биде потешко да се открие Puppeteer како бот.
  • puppeteer-extra-plugin-recaptcha : Автоматско решавање на reCAPTCHA и hCaptchas.
  • puppeteer-extra-plugin-adblocker : За да се намали пропусниот опсег и времето на вчитување со примена на брз и ефикасен блокатор за реклами и тракери.
  • puppeteer-extra-plugin-devtools : За да се овозможи отстранување грешки на прелистувачот Puppeteer од каде било.
  • puppeteer-extra-plugin-repl : за да се олесни и попријатно дебагирањето и истражувањето на Puppeteer со интерактивен REPL.
  • puppeteer-extra-plugin-block-resources : за програмски блокирање ресурси како слики, медиумски датотеки, CSS листови со стилови и повеќе при вчитување страници.
  • puppeteer-extra-plugin-flash : Да се дозволи содржината на Adobe Flash да се извршува на сите страници без интеракција со корисникот.
  • puppeteer-extra-plugin-anonymize-ua : за анонимизирање на заглавјето User-Agent на сите страници, со поддршка за динамично заменување.
  • puppeteer-extra-plugin-user-preferences : за поставување приспособени кориснички параметри на Chrome/Chromium.

Згора на нив, тој се интегрира со следните приклучоци за заедницата:

  • puppeteer-extra-plugin-minmax : за минимизирање и максимизирање на прозорецот на прелистувачот Puppeteer во реално време.
  • puppeteer-extra-plugin-portal : за далечинско гледање и интеракција со сесиите на куклата преку API-то за екранот на Chromium.

Зошто дури ни е потребна дополнителна верзија на куклар?

Без сомнение, Puppeteer е една од врвните библиотеки на прелистувачи без глава за стружење и тестирање . Но, ајде да бидеме искрени - тоа има свои граници, особено кога се соочуваме со анти-бот технологија како отпечатоци од прелистувач и CAPTCHA. Прочитајте го нашиот водич за да научите како да се справите со автоматизацијата на reCAPTCHA .


Веб-страниците вооружени со одбрана против ботови лесно можат да ги откријат и блокираат скриптите на Puppeteer. Ако само постоеше начин да се прошири и приспособи стандардното однесување на Puppeteer...


…па, токму тоа е Puppeteer Extra!

Куклар Екстра против Куклар

Puppeteer Extra е како напојување за Puppeteer, додавајќи поддршка за приклучоци за да се решат тие големи недостатоци. Наместо да го замени или прошири сè за вас, го обвиткува Puppeteer и ви дозволува да ги регистрирате само додатоците што ви се потребни. 🦸

puppeteer-extra : Поставување и приклучоци за веб-гребење

Можете да додадете Puppeteer Extra во зависностите npm на вашиот проект со:

 npm install puppeteer-extra


⚠️ Забелешка : puppeteer-extra бара puppeteer да работи, затоа проверете дали двата пакета се инсталирани во вашиот проект.


Потоа, треба да го увезете објектот puppeteer од puppeteer-extra наместо од библиотеката puppeteer :

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

Сè во Puppeteer API останува исто, но добивате малку дополнителна магија ✨. Објектот puppeteer сега изложува метод use() за приклучување на приклучоците Puppeteer Extra.


Време е да се нурне во тоа што можат да направат овие приклучоци и да видиме како тие ќе ја израмнат вашата игра за гребење на веб!

куклар-екстра-приклучок-скришум

Puppeteer Extra Plugin Stealth , познат и едноставно како Puppeteer Stealth, вклучува збир на конфигурации дизајнирани да го намалат откривањето на ботови. Ги отфрла карактеристиките и поставките за откривање на Puppeteer што може да го изложат како бот.


За повеќе детали, проверете го нашиот водич за тоа како да избегнете блокирање со Puppeteer Stealth .


⚙️ Монтажа :

 npm install puppeteer-extra-plugin-stealth


💡 Употреба :

 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

Приклучок за спречување на прелистувачот Puppeteer да вчитува одредени ресурси. Поддржаните типови ресурси вклучуваат document , stylesheet , image , media , font , script , texttrack , xhr , fetch , eventsource , websocket , manifest other .


Блокирањето на ресурсите може да се конфигурира и глобално и локално.


⚙️ Монтажа :

 npm install puppeteer-extra-plugin-block-resources


💡 Употреба :

 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("https://www.example.com/", { waitUntil: "domcontentloaded" })

puppeteer-extra-plugin-anonymize-ua

Приклучок за анонимизирање на User-Agent поставен од прелистувачот контролиран од Puppeteer. 🎭


Ви дава можност да ја отстраните низата 'Headless' од корисничкиот агент на Chrome во режим без глава и поддржува динамична замена на корисничкиот агент преку приспособена функција. Погледнете го на дело во нашето упатство за кориснички агенти на Puppeteer .


Откријте кој е најдобриот кориснички агент за стругање на веб!


⚙️ Монтажа :

 npm install puppeteer-extra-plugin-anonymize-ua


💡 Употреба :

 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")}) }))

Puppeteer Extra не е решение за лек

Исто како кај Playwright , без разлика колку е мазна и приспособена вашата скрипта Puppeteer, напредните системи против ботови сè уште можат да ве намирисаат и да ве затворат. Но, како е тоа воопшто можно? 🤔


Документацијата puppeteer-extra-stealth-plugin ви ја разложува:

Ве молиме запомнете: сметам дека ова е пријателско натпреварување во прилично интересна игра со мачки и глушец. Ако другиот тим (👋) сака да открие хром без глава, сè уште има начини да го направи тоа (барем јас забележав неколку, кои ќе ги разгледам во идните ажурирања).


Веројатно е невозможно да се спречат сите начини за откривање на безглавен хром, но би требало да биде возможно да се направи толку тешко што ќе стане економично или ќе предизвика премногу лажно-позитивни за да биде изводливо.


Значи, додека Puppeteer Extra може да ги избегне најосновните откривања на ботови како Neo во Matrix, сигурно не може да го заобиколи Cloudflare . Секако, можете да интегрирате прокси во Puppeteer , но дури и тоа можеби нема да биде доволно.


Проблемот не е самиот Puppeteer (бидејќи да бидеме реални, Puppeteer rocks! 🤘), туку прелистувачот што тој го контролира. Вистинското решение? Моќен прелистувач кој:

  • Работи во режим на глава како обичен прелистувач за да го намали откривањето бот.
  • Вага во облакот за вас, заштедувајќи ви време и трошоци во управувањето со инфраструктурата.
  • Нуди ротирачки IP адреси напојувани од една од најголемите и најсигурни прокси мрежи на пазарот.
  • Автоматски се справува со решавање на CAPTCHA, отпечатоци од прелистувач, приспособување на колачиња и заглавија и се обидува повторно за оптимална ефикасност.
  • Беспрекорно се интегрира со водечките библиотеки за автоматизација на прелистувачи како Playwright, Selenium и Puppeteer.


Верувале или не, ова не е некој далечен сон. Вистински е и токму она што го нуди Bright Data's Scraping Browser !

Завршни мисли

Puppeteer е една од најкористените алатки за автоматизација на прелистувачите во светот на технологијата, но дури и суперхероите имаат свои граници. Заедницата се вклучи со puppeteer-extra , пакет што му дава на Puppeteer некои сериозно кул нови способности преку сопствени приклучоци.


Но, тука е работата: иако овие приклучоци можат да ја направат вашата операција на гребење многу посилна, тие нема магично да ве претворат во дух 👻. Сајтовите со напредно откривање ботови можеби сè уште ќе можат да ве блокираат!


Заобиколете ги сите анти-ботови со Bright Data's Scraping Browser — прелистувач во облак што не може да се открие што беспрекорно се интегрира со Puppeteer . Придружете се на нашата мисија да ја направиме мрежата јавен простор за секого, секаде, дури и преку автоматизирани скрипти.


До следниот пат, продолжете слободно да го истражувате Интернетот! 🌐

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.

ВИСЕТЕ ТАГОВИ

ОВОЈ СТАТИЈА БЕШЕ ПРЕТСТАВЕН ВО...