paint-brush
Ανεβάστε το έργο σας απόξεσης με το Puppeteer Extraμε@brightdata
360 αναγνώσεις
360 αναγνώσεις

Ανεβάστε το έργο σας απόξεσης με το Puppeteer Extra

με Bright Data6m2024/09/04
Read on Terminal Reader

Πολύ μακρύ; Να διαβασω

Το Puppeteer Extra ενισχύει το Puppeteer προσθέτοντας υποστήριξη πρόσθετων για την αντιμετώπιση των περιορισμών του. Αυτό το ελαφρύ περιτύλιγμα εισάγει προσθήκες για εργασίες όπως η αποφυγή εντοπισμού ρομπότ, η επίλυση CAPTCHA και ο αποκλεισμός ανεπιθύμητων πόρων. Παρά τα δυνατά του σημεία, τα προηγμένα συστήματα anti-bot μπορούν ακόμα να ανιχνεύσουν το Puppeteer. Εξερευνήστε τις προσθήκες του Puppeteer Extra για να αναβαθμίσετε το παιχνίδι απόξεσης ιστού, αλλά έχετε υπόψη σας ότι οι εξελιγμένες άμυνες bot ενδέχεται να αποτελούν ακόμα προκλήσεις.
featured image - Ανεβάστε το έργο σας απόξεσης με το Puppeteer Extra
Bright Data HackerNoon profile picture
0-item

Όπως τονίζεται στον οδηγό μας για την απόξεση ιστού με το Puppeteer , αυτή η βιβλιοθήκη αυτοματισμού προγράμματος περιήγησης είναι ένας φανταστικός σύμμαχος για την εξαγωγή δεδομένων από ιστότοπους δυναμικού περιεχομένου. Ωστόσο, όπως κάθε άλλο εργαλείο, έχει τα μειονεκτήματά του. Εκεί μπαίνει το Puppeteer Extra!


Σε αυτόν τον οδηγό, θα σας παρουσιάσουμε το puppeteer-extra —μια βιβλιοθήκη που αναδιπλώνει puppeteer για να το επεκτείνει με υποστήριξη plugin. Ετοιμαστείτε να μεταφέρετε το έργο απόξεσης του Puppeteer στο επόμενο επίπεδο! 🚀

Τι είναι το Puppeteer Extra;

Το Puppeteer Extra είναι ένα ελαφρύ περιτύλιγμα γύρω από puppeteer που επιτρέπει την ενσωμάτωση προσθηκών μέσω μιας καθαρής διεπαφής. Αν και δεν έχει αναπτυχθεί από την ομάδα πίσω από το Puppeteer , αυτό το έργο που βασίζεται στην κοινότητα έχει εκατοντάδες χιλιάδες εβδομαδιαίες λήψεις και πάνω από 6 χιλιάδες αστέρια στο GitHub 📈.


Ρίξτε μια ματιά στον παρακάτω πίνακα με τα αστέρια του GitHub — είναι σαφές ότι το puppeteer-extra αποθετήριο έχει μια σταθερή άνοδο σε δημοτικότητα όλα αυτά τα χρόνια: Η άνοδος του Puppeteer Extra στο GitHub

Τα πρόσθετα που υποστηρίζονται επίσημα από το Puppeteer Extra είναι:

  • puppeteer-extra-plugin-stealth : Για να είναι πιο δύσκολο να εντοπιστεί το Puppeteer ως bot.
  • 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;

Χωρίς αμφιβολία, το Puppeteer είναι μια από τις κορυφαίες βιβλιοθήκες προγράμματος περιήγησης χωρίς κεφαλές για απόξεση και δοκιμή . Αλλά ας είμαστε ειλικρινείς—έχει τα όριά του, ειδικά όταν αντιμετωπίζετε τεχνολογία anti-bot, όπως δακτυλικά αποτυπώματα προγράμματος περιήγησης και CAPTCHA. Διαβάστε τον οδηγό μας για να μάθετε πώς να αντιμετωπίζετε τον αυτοματισμό reCAPTCHA .


Ιστότοποι που είναι οπλισμένοι με άμυνες anti-bot μπορούν εύκολα να εντοπίσουν και να αποκλείσουν τα σενάρια Puppeteer. Αν υπήρχε τρόπος να επεκταθεί και να προσαρμοστεί η προεπιλεγμένη συμπεριφορά του Puppeteer...


…καλά, αυτό ακριβώς είναι το Puppeteer Extra!

Puppeteer Extra vs Puppeteer

Το Puppeteer Extra είναι σαν ένα power-up για το Puppeteer, προσθέτοντας υποστήριξη plugin για την αντιμετώπιση αυτών των σημαντικών μειονεκτημάτων. Αντί να παρακάμπτει ή να επεκτείνει τα πάντα για εσάς, αναδιπλώνει το 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() για να συνδέσετε τα plugins Puppeteer Extra.


Ήρθε η ώρα να βουτήξετε στο τι μπορούν να κάνουν αυτά τα πρόσθετα και να δείτε πώς θα ανεβάσουν επίπεδο το παιχνίδι σας απόξεσης ιστού!

κουκλοπαίκτης-έξτρα-πρόσθετο-κλεφτό

Το Puppeteer Extra Plugin Stealth , γνωστό και απλά ως Puppeteer Stealth, περιλαμβάνει ένα σύνολο διαμορφώσεων που έχουν σχεδιαστεί για να μειώνουν την ανίχνευση bot. Παρακάμπτει τις ανιχνεύσιμες ιδιότητες και ρυθμίσεις του Puppeteer που μπορεί να το εκθέσουν ως bot.


Για περισσότερες λεπτομέρειες, ανατρέξτε στον οδηγό μας για το πώς να αποφύγετε τον αποκλεισμό με το 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, τα προηγμένα συστήματα anti-bot μπορούν ακόμα να σας μυρίσουν και να σας κλείσουν. Πώς είναι όμως αυτό δυνατό; 🤔


Η τεκμηρίωση του puppeteer-extra-stealth-plugin το αναλύει για εσάς:

Σημείωση: Θεωρώ ότι αυτό είναι ένας φιλικός διαγωνισμός σε ένα αρκετά ενδιαφέρον παιχνίδι γάτας και ποντικιού. Εάν η άλλη ομάδα (👋) θέλει να ανιχνεύσει ακέφαλο χρώμιο, υπάρχουν ακόμα τρόποι για να το κάνει αυτό (τουλάχιστον παρατήρησα μερικούς, τους οποίους θα αντιμετωπίσω σε μελλοντικές ενημερώσεις).


Είναι πιθανώς αδύνατο να αποφευχθούν όλοι οι τρόποι ανίχνευσης του ακέφαλου χρωμίου, αλλά θα πρέπει να είναι δυνατό να γίνει τόσο δύσκολο ώστε να γίνει απαγορευτικό από πλευράς κόστους ή να ενεργοποιήσει πάρα πολλά ψευδώς θετικά για να είναι εφικτά.


Έτσι, ενώ το Puppeteer Extra μπορεί να αποφύγει τον πιο βασικό εντοπισμό ρομπότ όπως το Neo στο Matrix, σίγουρα δεν μπορεί να παρακάμψει το Cloudflare . Σίγουρα, θα μπορούσατε να ενσωματώσετε έναν διακομιστή μεσολάβησης στο Puppeteer , αλλά ακόμη και αυτό μπορεί να μην είναι αρκετό.


Το πρόβλημα δεν είναι το ίδιο το Puppeteer (γιατί ας είμαστε αληθινοί, Puppeteer rocks! 🤘), αλλά το πρόγραμμα περιήγησης που ελέγχει. Η πραγματική λύση; Ένα ισχυρό πρόγραμμα περιήγησης που:

  • Λειτουργεί σε λειτουργία κεφαλίδας όπως ένα κανονικό πρόγραμμα περιήγησης για να μειώσει τον εντοπισμό ρομπότ.
  • Κλίμακες στο cloud για εσάς, εξοικονομώντας χρόνο και κόστος στη διαχείριση της υποδομής.
  • Προσφέρει περιστρεφόμενες IP που τροφοδοτούνται από ένα από τα μεγαλύτερα και πιο αξιόπιστα δίκτυα μεσολάβησης στην αγορά.
  • Χειρίζεται αυτόματα την επίλυση CAPTCHA, τη λήψη δακτυλικών αποτυπωμάτων στο πρόγραμμα περιήγησης, την προσαρμογή cookie και κεφαλίδας και επαναλαμβάνει τη βέλτιστη απόδοση.
  • Ενσωματώνεται άψογα με κορυφαίες βιβλιοθήκες αυτοματισμού προγράμματος περιήγησης όπως το Playwright, το Selenium και το Puppeteer.


Είτε το πιστεύετε είτε όχι, αυτό δεν είναι κάποιο μακρινό όνειρο. Είναι αληθινό και αυτό ακριβώς έχει να προσφέρει το Bright Data's Scraping Browser !

Τελικές Σκέψεις

Το Puppeteer είναι ένα από τα πιο ευρέως χρησιμοποιούμενα εργαλεία αυτοματισμού του προγράμματος περιήγησης στον κόσμο της τεχνολογίας, αλλά ακόμη και οι υπερήρωες έχουν τα όριά τους. Η κοινότητα παρενέβη με puppeteer-extra , ένα πακέτο που δίνει στο Puppeteer μερικές πολύ εντυπωσιακές νέες ικανότητες μέσω προσαρμοσμένων προσθηκών.


Αλλά εδώ είναι το πράγμα: ενώ αυτά τα πρόσθετα μπορούν να κάνουν τη λειτουργία απόξεσης πολύ πιο δυνατή, δεν θα σας μετατρέψουν ως δια μαγείας σε φάντασμα 👻. Οι ιστότοποι με προηγμένη ανίχνευση ρομπότ ενδέχεται να εξακολουθούν να μπορούν να σας αποκλείσουν!


Παρακάμψτε όλα τα anti-bots με το Bright Data's Scraping Browser—ένα μη ανιχνεύσιμο πρόγραμμα περιήγησης cloud που ενσωματώνεται άψογα με το Puppeteer . Λάβετε μέρος στην αποστολή μας να κάνουμε τον Ιστό δημόσιο χώρο για όλους, παντού, ακόμη και μέσω αυτοματοποιημένων σεναρίων.


Μέχρι την επόμενη φορά, συνεχίστε να εξερευνάτε το Διαδίκτυο με ελευθερία! 🌐