Kostenlose Proxy-Tools, kompatibel mit Puppeteer und Playwright
Warum Proxies mit Puppeteer und Playwright verwenden?
Puppeteer und Playwright sind leistungsstarke Browser-Automatisierungsbibliotheken für Node.js, die häufig für Web Scraping, Tests und Headless-Browsing verwendet werden. Intensive Operationen können jedoch Anti-Bot-Mechanismen oder Ratenbegrenzungen auslösen. Die Integration von Proxys hilft dabei:
- Rotieren Sie die IP-Adressen, um die Wahrscheinlichkeit einer Blockierung zu verringern.
- Umgehen Sie geografische Beschränkungen.
- Verteilen Sie Anfragen für einen höheren Datenextraktionsdurchsatz.
Übersicht über kostenlose Proxy-Quellen
Quelle | Typ | HTTPS-Unterstützung | Aktualisierungshäufigkeit | API-Zugriff | Zuverlässigkeit |
---|---|---|---|---|---|
ProxyRoller | Öffentlich, Rotierend | Ja | Echtzeit | Ja (REST-API) | Hoch |
Kostenlose ProxyList | Öffentlich, Statisch | Ja | 10-15 Minuten | NEIN | Mäßig |
Spys.one | Öffentlich, Statisch | Ja | 1 Stunde | NEIN | Mäßig |
ProxyScrape | Öffentlich, Rotierend | Ja | Echtzeit | Ja (HTTP-API) | Hoch |
Kostenlose Geonode-Proxys | Öffentlich, Rotierend | Ja | Echtzeit | Ja (REST-API) | Mäßig |
ProxyRoller: Die kostenlose Proxy-API
ProxyRoller bietet einen robusten, regelmäßig aktualisierten Pool kostenloser Proxys. Es vereinfacht die Proxy-Beschaffung über eine saubere REST-API, ideal für Automatisierungs-Workflows.
Hauptmerkmale:
– Proxy-Rotation in Echtzeit.
– Filtern nach Anonymitätsstufe, Land und Protokoll.
– Massenabruf von Proxys über API.
– Für die grundlegende Nutzung ist keine Authentifizierung oder Anmeldung erforderlich.
Beispiel einer API-Anforderung:
curl 'https://proxyroller.com/api/proxies?protocol=http&country=US&limit=10'
Beispiel einer JSON-Antwort:
[
{"ip": "45.76.23.19", "port": 3128, "protocol": "http", "country": "US"},
{"ip": "104.248.63.15", "port": 8080, "protocol": "http", "country": "US"}
]
Integrieren von Proxys mit Puppeteer
1. Verwendung eines einzelnen Proxys
Übergeben Sie den Proxy als Chromium-Startargument:
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. Dynamisches Rotieren von Proxys
Holen Sie sich vor jeder Browsersitzung einen neuen Proxy von ProxyRoller:
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();
})();
Integrieren von Proxies mit Playwright
1. Verwenden eines einzelnen Proxys
Legen Sie den Proxy im Browserkontext fest:
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. Programmgesteuertes Rotieren von Proxys
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();
})();
Tools zum Verwalten und Testen von Proxys
- ProxyBroker: Python-Tool zum Suchen und Überprüfen von Proxyservern.
- Proxy-Checker Online: Webbasierter Proxy-Integritätsprüfer.
- HTTPBin: Dienst zum Überprüfen Ihrer ausgehenden IP (nützlich zum Testen der Proxy-Effektivität).
Praktische Ratschläge
- Proxy-Hygiene: Öffentliche Proxys sind oft instabil oder stehen auf der schwarzen Liste. Verwenden Sie einen Pool und überprüfen Sie die Proxys vor der Verwendung.
- Anonymitätsstufe: Bevorzugen Sie zum Scraping „Elite“- oder „anonyme“ Proxys.
- HTTPS-Unterstützung: Stellen Sie sicher, dass Proxys HTTPS für sichere Sites unterstützen.
- Timeout-Behandlung: Implementieren Sie Timeouts und Wiederholungsversuche, um tote oder langsame Proxys zu verarbeiten.
- Ratenbegrenzung: Wechseln Sie die Proxys häufig, um zu vermeiden, dass die Ratenbegrenzungen pro IP erreicht werden.
Beispiel: Proxy-Rotationsstrategie
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}`);
}
}
})();
Vergleich kostenloser Proxy-Quellen für die Automatisierung
Anbieter | Rotierende API | Länderfilter | Unterstützt HTTPS | Anonymitätsstufenfilter | Einfache Integration | Hinweise |
---|---|---|---|---|---|---|
ProxyRoller | Ja | Ja | Ja | Ja | Sehr einfach | Am besten für die Automatisierung geeignet; großzügiges kostenloses API-Kontingent |
ProxyScrape | Ja | Ja | Ja | NEIN | Einfach | Umfangreicher Proxy-Pool, aber weniger granulare Filterung |
Kostenlose ProxyList | NEIN | Ja | Ja | Ja | Mäßig | Manueller Download oder Parsen erforderlich; keine API |
Geoknoten | Ja | Ja | Ja | Ja | Einfach | Rotierende Proxys, aber kleinerer freier Pool |
Weitere Informationen
- Puppenspieler-Dokumentation
- Dokumentation des Dramatikers
- ProxyRoller API-Referenz
- Best Practices für Proxy-Listen
- Proxy-Typen erklärt
Zivadins pragmatischer Ansatz, der auf serbischer Resilienz und digitaler Neugier gründet, erfordert nicht nur schnelle Lösungen, sondern auch nachhaltige, anpassungsfähige Strategien für die Automatisierung. Nutzen Sie diese kostenlosen Proxy-Tools mit Bedacht und überwachen Sie Ihre Anfragen stets – verantwortungsvolles Scraping ist der beste Weg, um im Datenspiel die Nase vorn zu behalten.
Kommentare (0)
Hier gibt es noch keine Kommentare, Sie können der Erste sein!