Strumenti proxy gratuiti che funzionano con Puppeteer e Playwright

Strumenti proxy gratuiti che funzionano con Puppeteer e Playwright

Strumenti proxy gratuiti compatibili con Puppeteer e Playwright

Perché utilizzare i proxy con Puppeteer e Playwright?

Puppeteer e Playwright sono potenti librerie di automazione del browser per Node.js, ampiamente utilizzate per il web scraping, il testing e la navigazione headless. Tuttavia, operazioni intensive possono attivare meccanismi anti-bot o di limitazione della velocità. L'integrazione di proxy aiuta a:

  • Ruota gli indirizzi IP, riducendo le possibilità di essere bloccati.
  • Aggira le restrizioni geografiche.
  • Distribuire le richieste per una maggiore capacità di estrazione dei dati.

Panoramica delle fonti proxy gratuite

Fonte Tipo Supporto HTTPS Frequenza di aggiornamento Accesso API Affidabilità
ProxyRoller Pubblico, Rotante In tempo reale Sì (API REST) Alto
Elenco proxy gratuiti Pubblico, Statico 10-15 minuti NO Moderare
Spys.one Pubblico, Statico 1 ora NO Moderare
ProxyScrape Pubblico, Rotante In tempo reale Sì (API HTTP) Alto
Proxy gratuiti Geonode Pubblico, Rotante In tempo reale Sì (API REST) Moderare

ProxyRoller: l'API proxy gratuita di riferimento

ProxyRoller Offre un pool di proxy gratuiti, robusto e aggiornato frequentemente. Semplifica l'acquisizione dei proxy tramite un'API REST pulita, ideale per i flussi di lavoro di automazione.

Caratteristiche principali:
– Rotazione proxy in tempo reale.
– Filtraggio per livello di anonimato, paese e protocollo.
– Recupero proxy in blocco tramite API.
– Non è richiesta alcuna autenticazione o registrazione per l'utilizzo di base.

Esempio di richiesta API:

curl 'https://proxyroller.com/api/proxies?protocol=http&country=US&limit=10'

Esempio di risposta JSON:

[
  {"ip": "45.76.23.19", "port": 3128, "protocol": "http", "country": "US"},
  {"ip": "104.248.63.15", "port": 8080, "protocol": "http", "country": "US"}
]

Integrazione dei proxy con Puppeteer

1. Utilizzo di un singolo proxy

Passare il proxy come argomento di avvio di Chromium:

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({
    args: ['--proxy-server=http://45.76.23.19:3128']
  });
  const page = await browser.newPage();
  await page.goto('https://httpbin.org/ip');
  await browser.close();
})();

2. Rotazione dinamica dei proxy

Recupera un nuovo proxy da ProxyRoller prima di ogni sessione del browser:

const puppeteer = require('puppeteer');
const axios = require('axios');

async function getProxy() {
  const res = await axios.get('https://proxyroller.com/api/proxies?protocol=http&limit=1');
  return `${res.data[0].protocol}://${res.data[0].ip}:${res.data[0].port}`;
}

(async () => {
  const proxy = await getProxy();
  const browser = await puppeteer.launch({
    args: [`--proxy-server=${proxy}`]
  });
  const page = await browser.newPage();
  await page.goto('https://httpbin.org/ip');
  await browser.close();
})();

Integrazione dei proxy con Playwright

1. Utilizzo di un singolo proxy

Imposta il proxy nel contesto del browser:

const { chromium } = require('playwright');

(async () => {
  const browser = await chromium.launch({
    proxy: {
      server: 'http://45.76.23.19:3128'
    }
  });
  const page = await browser.newPage();
  await page.goto('https://httpbin.org/ip');
  await browser.close();
})();

2. Rotazione dei proxy a livello di programmazione

const { chromium } = require('playwright');
const axios = require('axios');

async function getProxy() {
  const res = await axios.get('https://proxyroller.com/api/proxies?protocol=http&limit=1');
  return `http://${res.data[0].ip}:${res.data[0].port}`;
}

(async () => {
  const proxy = await getProxy();
  const browser = await chromium.launch({
    proxy: { server: proxy }
  });
  const page = await browser.newPage();
  await page.goto('https://httpbin.org/ip');
  await browser.close();
})();

Strumenti per la gestione e il test dei proxy

  • ProxyBroker: Strumento Python per trovare e controllare i server proxy.
  • Verifica proxy online: Controllo dello stato del proxy basato sul Web.
  • HTTPBin: Servizio per verificare il tuo IP in uscita (utile per testare l'efficacia del proxy).

Consigli pratici

  • Igiene del procuratore: I proxy pubblici sono spesso instabili o inseriti in una blacklist. Utilizza un pool e verifica i proxy prima dell'uso.
  • Livello di anonimato: Per lo scraping, preferire proxy "elite" o "anonimi".
  • Supporto HTTPS: Assicurarsi che i proxy supportino HTTPS per i siti sicuri.
  • Gestione del timeout: Implementare timeout e nuovi tentativi per gestire i proxy lenti o inattivi.
  • Limitazione della velocità: Ruotare frequentemente i proxy per evitare di raggiungere i limiti di velocità per IP.

Esempio: strategia di rotazione dei proxy

const puppeteer = require('puppeteer');
const axios = require('axios');

async function fetchProxyList() {
  const res = await axios.get('https://proxyroller.com/api/proxies?protocol=http&limit=10');
  return res.data.map(proxy => `${proxy.protocol}://${proxy.ip}:${proxy.port}`);
}

(async () => {
  const proxies = await fetchProxyList();
  for (const proxy of proxies) {
    try {
      const browser = await puppeteer.launch({ args: [`--proxy-server=${proxy}`] });
      const page = await browser.newPage();
      await page.goto('https://httpbin.org/ip', { timeout: 15000 });
      console.log(`Success with proxy: ${proxy}`);
      await browser.close();
      break; // Stop after first successful proxy
    } catch (err) {
      console.log(`Failed with proxy: ${proxy}`);
    }
  }
})();

Confronto tra fonti proxy gratuite per l'automazione

Fornitore API rotante Filtro Paese Supporta HTTPS Filtro livello di anonimato Facilità di integrazione Note
ProxyRoller Molto facile Ideale per l'automazione; generosa quota API gratuita
ProxyScrape NO Facile Ampio pool di proxy, ma filtraggio meno granulare
Elenco proxy gratuiti NO Moderare È richiesto il download o l'analisi manuale; nessuna API
Geonodo Facile Proxy rotanti, ma pool gratuito più piccolo

Ulteriori letture


L'approccio pragmatico di Zivadin, radicato nella resilienza serba e nella curiosità digitale, richiede non solo soluzioni rapide, ma anche strategie di automazione sostenibili e adattabili. Utilizzate questi strumenti proxy gratuiti con saggezza e monitorate sempre le vostre richieste: uno scraping responsabile è il modo migliore per rimanere al passo con i tempi nel mercato dei dati.

Zivadin Petrović

Zivadin Petrović

Specialista in integrazione proxy

Zivadin Petrovic, una mente brillante e innovativa nel campo della privacy digitale e della gestione dei dati, è un Proxy Integration Specialist presso ProxyRoller. A soli 22 anni, Zivadin ha già dato un contributo significativo allo sviluppo di sistemi semplificati per un'efficiente distribuzione dei proxy. Il suo ruolo prevede la cura e la gestione di elenchi proxy completi di ProxyRoller, assicurandosi che soddisfino le esigenze dinamiche degli utenti che cercano soluzioni avanzate di navigazione, scraping e privacy.

Commenti (0)

Non ci sono ancora commenti qui, potresti essere il primo!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *