
Le crawler de la fonction cloud ne peut pas gérer les IP dynamiques ?
Récemment, beaucoup de collecte de données de vieux fer et je me suis plaint, avec AWS Lambda pour faire le crawler est toujours le site cible bloqué IP. Après tout, la fonction de nuage est un nouvel environnement chaque fois que vous commencez, construire leur propre pool de proxy les coûts de maintenance sont élevés. En ce moment, il est nécessaire de changer la façon de penser -Intégrer les services IP proxy dynamiques directement dans le flux de travail des fonctions en nuage.
L'approche traditionnelle consiste soit à utiliser une IP fixe (bloquée en quelques minutes), soit à créer son propre pool d'IP (au mépris de la maintenance). Aujourd'hui, il est courant deSolutions Proxy prêtes à l'emploiLe proxy résidentiel dynamique d'ipipgo, particulièrement adapté à Lambda, ce type de facturation par la seconde architecture sans état. Par exemple, avec le Dynamic Residential Proxy d'ipipgo, chaque fois que la fonction s'exécute, elle change automatiquement pour une nouvelle IP, et vous n'avez même pas besoin d'écrire votre propre mécanisme de relance.
Trois astuces pour rendre "furtif" le crawler des fonctions du nuage
La première astuce : l'injection dynamique d'IP
Lors de la phase d'initialisation de la fonction, les adresses proxy sont obtenues en temps réel via l'API ipipgo. Attention à bien choisir leurPaquet IP éphémère(le type d'expiration automatique de 5 minutes), ce qui garantit qu'une seule tâche est accomplie et évite la réutilisation de l'IP.
Conseil n° 2 : Demande de confusion concernant les empreintes digitales
En liaison avec les changements d'adresses IP par procuration, ajustées de manière aléatoire à chaque fois :
| paramètres | Méthodes de camouflage |
|---|---|
| User-Agent | Utilisation de la bibliothèque d'empreintes digitales fournie par ipipgo |
| intervalle de demande | Aléatoire 0,5-3 secondes |
| Empreinte digitale HTTPS | Activer leur mode d'obscurcissement TLS |
Conseil n° 3 : Tolérance de panne distribuée
Fixer le nombre maximum de tentatives Lambda à 3, lorsqu'un blocage IP est détecté :
1. détruire immédiatement l'instance de la fonction en cours
2. déclencher de nouveaux appels de fonction
3. les nouvelles instances obtiennent automatiquement de nouvelles adresses IP de proxy
Avec cette combinaison, le taux de réussite peut être supérieur à 92%.
Guide d'accès pratique à l'ipipgo
Prenez Python par exemple, et faites correspondre la configuration dans Lambda comme ceci :
import requests
from ipipgo import get_proxy c'est leur SDK officiel
def handler(event, context) : proxy = get_proxy(type='dynamic', region='us')
proxy = get_proxy(type='dynamic', region='us')
Le problème est que vous devez définir le délai de déconnexion pour que la déconnexion soit automatique
session = requests.Session()
session.proxies = {"https" : proxy}
resp = session.get('Target site', timeout=(3.1, 6))
return resp.text
faire attention àFermeture du pool de connexion(pour éviter les résidus d'IP), il est recommandé de créer une nouvelle session pour chaque demande. Le SDK d'ipipgo intègre une authentification automatique, de sorte que vous n'avez pas à gérer vous-même les chaînes d'authentification.
Foire aux questions QA
Q:Comment Cloud Function stocke-t-il la configuration de l'IP du proxy ?
R : Ne mettez jamais de variables d'environnement ! Il est recommandé d'utiliser l'API instantanée d'ipipgo pour les obtenir, ils sont <200ms réactifs et rattrapent complètement les démarrages à froid des fonctions.
Q : Que dois-je faire si je rencontre un CAPTCHA ?
R : La version entreprise d'ipipgo du paquet avec la fonction de liste noire CAPTCHA, sautera automatiquement les nœuds avec CAPTCHA, plutôt que d'utiliser la plate-forme de codage pour économiser le coût de 60%.
Q : Pas assez d'adresses IP lorsque le nombre de fonctions est élevé ?
R : L'activer sur leur consolemode d'expansion en rafaleIl prend en charge jusqu'à 500 nouvelles adresses IP par seconde, ce qui est largement suffisant pour faire face aux pics de trafic.
Pour les frères qui s'engagent dans l'exploration des fonctions du nuage, il n'est vraiment pas nécessaire de lancer leur propre pool d'adresses IP. Des fournisseurs de services comme ipipgo, spécialisés dans les proxys dynamiques.Vous pouvez obtenir 5 000 demandes valides pour 1 $.C'est moins cher que l'option de l'autoconstruction, sans parler des économies clés. Récemment, ils ont également mis en place des activités d'essai gratuites pour les nouveaux utilisateurs, ils reçoivent un quota d'essai pour la première fois et ils disent ensuite.

