
Proxy-Schlupflöcher, die Sie kennen müssen, um Node.js zu crawlen
Kürzlich half ich einem Freund bei der Erstellung einer Preisvergleichs-Website, und als ich Node.js zur Datenerfassung verwendete, wurde ich immer wieder gesperrt.Proxy-IP-SpielDas erste, was Sie tun müssen, ist, um ein gutes Maß an Informationen über das Unternehmen zu bekommen. Zum Beispiel, eine bestimmte kontinuierliche Erfassung eines E-Commerce-Plattform, weniger als eine halbe Stunde blockiert wurde, und dann geändert ipipgo dynamische Wohn-Agent, sofort wirksam.
const axios = require('axios');
const tunnel = require('tunnel');
const agent = tunnel.httpsOverHttp({
proxy: {
host: 'gw.ipipgo.com',
Port: 9021,
proxyAuth: 'Ihr Konto:Passwort'
}
});
axios.get('https://target-site.com', {
httpsAgent: agent,
timeout: 8000
}).then(res => console.log(res.data))
Was sind die wichtigsten Indikatoren für die Auswahl eines Maklers?
Es gibt drei Arten von Agenten auf dem Markt, deshalb werde ich Ihnen eine echte Vergleichstabelle geben:
Wohnungsvermittler | Serverraum-Agenten | Mobile Agenten
— | — | —
Real User IP | Cloud Server IP | Mobile Base Station IP
Hohe Anonymität | Leichte Erkennbarkeit | Mittlere Anonymität
Geeignet für langfristige Aufgaben | Geeignet für kurze Zeitabschnitte | Für spezifische Szenarien
Wie ipipgo's großer Pool von Proxys für Privatpersonen habe ich den Crawl drei Tage hintereinander getestet, ohne dass ein Back-Crawl ausgelöst wurde. Besondere Aufmerksamkeit sollte geschenkt werdenHaltbarkeitsdauerDieser Parameter, der laut einigen Agenten 5 Minuten lang gültig ist, fällt in Wirklichkeit nach 2 Minuten.
Reale Proxy-Konfiguration des Tart-Vorgangs
Vergessen Sie nicht, Startparameter hinzuzufügen, wenn Sie Puppeteer verwenden, und seien Sie nicht dumm und starten Sie nackt:
const puppeteer = require('puppeteer');
async Funktion crawlWithProxy() {
const browser = await puppeteer.launch({
args: [
'--proxy-server=http://gw.ipipgo.com:9021',
'--disable-gpu'
]
});
//... Nachfolgende Operationen
}
Das Bedauernswerteste, was ich je erlebt habe, istProbleme mit SSL-ZertifikatenEinige Websites testen die Zertifikats-Fingerabdrücke des Proxys. Verwenden Sie diesmal die HTTPS-Proxy-Lösung von ipipgo. Die Zertifikate der Familie werden regelmäßig aktualisiert.
Selbsthilfe-Leitfaden für häufige Rollover-Szenen
QA 1:Was ist, wenn der Proxy plötzlich ausfällt?
Prüfen Sie zunächst den Rückgabestatuscode 403/429, um die IP zu ändern. ipipgo API unterstützt die automatische Umschaltung, es wird empfohlen, den Mechanismus zur Wiederholung von Fehlversuchen einzustellen.
QA 2:Langsam wie eine Schnecke zu kriechen?
Versuchen Sie gleichzeitige Anfragen + Proxy-Pool-Rotation. Aber achten Sie darauf, nicht zu viele Threads zu öffnen, in der Regel in 10-20 gleichzeitigen kontrolliert, je nach dem Ziel Website Erschwinglichkeit.
QA 3:Funktionieren kostenlose Proxys?
Blut-Lektion! Ich habe früher kostenlose Proxys verwendet, um Zeit zu sparen, aber die Daten waren mit Werbecode vermischt. Jetzt verwende ich den exklusiven Proxy von ipipgo, und die Datenqualität ist sehr stabil.
Es ist alles umsonst, wenn Sie nicht auf diese Details achten.
1. in der Kopfzeile der AnfrageX-Forwarded-ForRandomisieren, keine festen Werte verwenden
2. pro-Proxy-IP-Empfehlungen5-10 Minuteneinmaliger Ersatz
3. nicht hart sein, wenn Sie CAPTCHA begegnen, verwenden Sie ipipgo's Übersee-Proxys, um die regionale IP zu versuchen zu ändern.
4. Loggen Sie sich ein, um die Verwendung der Proxy-IP aufzuzeichnen, um das Problem zu beheben
Zum Schluss noch eine kalte Erkenntnis: Einige Websites erkennen die Mausspur, im Headless-Modus müssen Sie dieUser-Agent-Maskerading. Meine gemeinsame Konfiguration Schema ist ipipgo Proxy + zufällige UA-Bibliothek, die eine Combo bis zu einem 90% Website ist.

