
Comment fonctionne l'association de Proxy IP et de Puppeteer ?
Tous ceux qui ont fait de l'automatisation web savent que Puppeteer est un robot qui vous aide à automatiser votre navigateur. Mais si vous l'utilisez nu, vous rencontrerez souventPointé du doigt pour s'être rendu trop souvent sur le territoirede l'embarras. C'est le moment de donner au robotchanger de vêtements--c'est-à-dire l'utilisation d'une adresse IP proxy pour masquer son identité.
Prenons l'exemple de notre proxy ipipgo : supposons que vous souhaitiez collecter par lots les données d'un certain site web. Si vous utilisez Puppeteer seul, vous risquez de voir votre IP bloquée si vous le visitez plus de 10 fois d'affilée. Si, à chaque visite, vous changez de costume (IP proxy différente), l'autre site ne peut pas savoir s'il s'agit d'une personne ou d'une machine réelle.
const puppeteer = require('puppeteer') ;
const proxy = 'http://username:password@ipipgo-proxy-server:8080' ; //format de proxy fourni par ipipgo
async function run(){
const browser = await puppeteer.launch({
args : [`--proxy-server=${proxy}`]].
}) ;
//... Opérations suivantes
}
Comment charger une IP proxy dans Puppeteer ?
Voici trois astuces pratiques à vous apprendre :
| les méthodologies | Scénarios applicables | point d'attention |
|---|---|---|
| méthode des paramètres d'amorçage | Paramètres globaux du proxy | Ne pas oublier de traiter les informations d'authentification |
| méthode de proxy de page | Changement de page unique | Nécessité de redémarrer la page |
| méthode d'expansion par enfichage | Règles complexes en matière de procuration | Un peu difficile à configurer |
En ce qui concerne la première méthode, lorsque vous utilisez le proxy d'ipipgo, faites attention à ce qui suitauthentification dynamique par mot de passeMécanisme. Beaucoup de débutants tomberont dans ce piège et écriront directement le mot de passe du compte dans le code. La bonne attitude est d'utiliser l'API qu'ils fournissent pour obtenir dynamiquement les informations d'authentification, comme ceci :
const getProxy = async () => {
const res = await fetch('https://api.ipipgo.com/getproxy') ;
return `http://${res.data.proxy}` ;
}
// Obtenir un nouveau proxy avant chaque démarrage du navigateur
Quel est le problème avec le délai de chargement ?
Après la mise en place du proxy, il arrive que la vitesse devienne celle d'une tortue. Nous vous proposons ici quelques techniques d'accélération efficaces, testées en conditions réelles :
- établir des prioritésIP statique dédiée(le paquet B d'ipipgo offre ce service)
- Fixez un délai raisonnable et n'attendez pas !
- Désactiver le chargement de ressources inutiles
Une telle configuration permet par exemple de gagner beaucoup de temps :
attend page.setRequestInterception(true) ;
page.on('request', req => {
if(['image', 'stylesheet'].includes(req.resourceType())){
req.abort() ;
} else {
req.continue() ;
}
}).
Foire aux questions QA
Q : Que dois-je faire si l'agent ne parvient pas souvent à se connecter ?
R : Vérifiez d'abord le format des informations d'authentification. Le proxy d'ipipgo doit être utilisé avec la fonctionnom d'utilisateur:mot de passe@ip:portformat. Si cela ne fonctionne pas, contactez le service clientèle pour obtenir une autre adresse de serveur.
Q : Que dois-je faire si la page ne se charge pas complètement ?
R : Essayez d'ajuster votre stratégie d'attente, ne faites pas appel à un mauvais payeur.page.waitForTimeout()Passer àpage.waitForSelector()et d'autres méthodes de détection des éléments.
Q : Que se passe-t-il si j'ai besoin d'une IP multirégionale ?
R : Directement sur le site d'ipipgoPool d'agents au niveau de la villeLors de la sélection de l'IP, il suffit de spécifier le paramètre de la région, par exemple, si vous voulez que l'IP de Shanghai transmettecity=shanghai.
Enfin, ne vous contentez pas de regarder le prix lorsque vous choisissez un service proxy. Certains proxy gratuits semblent bon marché, mais en réalité, ils ne sont pas aussi bons qu'ils en ont l'air.être déconnecté pendant trois joursLe proxy d'ipipgo coûte de l'argent, mais il est stable et fiable, surtout si vous réalisez un projet sérieux, alors ne perdez pas beaucoup d'argent en économisant un peu dans ce domaine.

