
Une approche pratique de l'occultation des Scrappy Crawlers
Les frères Crawler comprennent que l'anti-escalade du site est comme l'ajout d'une porte de sécurité aux données. En ce moment, l'IP proxy est notre clé principale, en particulier avec Scrapy framework pour le travail, n'apprenez pas à proxy paramètres égal à l'Internet nu. Aujourd'hui, nous ne parlons pas de faux, directement sur la nourriture dure.
Qu'est-ce que l'intergiciel proxy ?
Le mécanisme intermédiaire de Scrapy est comme une station de triage, où chaque demande passe. Tout ce que nous avons à faire est de changer "l'adresse d'expédition" de la requête avant qu'elle ne soit envoyée. Plus précisément, nous allons ajouter une nouvelle adresse à l'élémentDOWNLOADER_MIDDLEWARESLa première chose à faire est de faire en sorte que chaque requête porte automatiquement une IP proxy.
Ajoutez ceci à settings.py
DOWNLOADER_MIDDLEWARES = {
'votreprojet.middlewares.ProxyMiddleware' : 543,
}
Comment choisir entre proxies dynamiques et proxies statiques ?
Voici un piège à éviter : ne partez pas du principe que n'importe quel agent fera l'affaire ! Il est important de choisir le type d'agent en fonction des besoins de votre entreprise :
| scénario d'entreprise | Type de recommandation |
|---|---|
| Collecte de données de routine | Dynamique résidentielle (standard) |
| Exploration de données d'entreprise | Dynamic Residential (Entreprise) |
| Identité fixe requise | Maisons statiques |
Comme celui d'ipipgo.Dynamic Residential (Entreprise)Le paquet, plus de 9 yuans de trafic 1G, est particulièrement adapté au besoin d'anonymat élevé de la scène. La prise en charge du protocole Socks5 est très conviviale pour Scrapy, nous apprendrons plus tard comment le faire correspondre.
Modèles de code du monde réel (pouvant être appliqués directement)
middlewares.py
import random
classe ProxyMiddleware(objet).
def process_request(self, request, spider).
Remplacez ceci par votre propre pool de proxies
proxy_list = [
'socks5://user:pass@ip.ipipgo.net:15236',
'http://user:pass@gateway.ipipgo.com:2080'
]
proxy = random.choice(proxy_list)
request.meta['proxy'] = proxy
Il est recommandé d'ajouter un délai d'attente
request.meta['download_timeout'] = 30
Attention ! Lorsque vous utilisez le proxy d'ipipgo, n'oubliez pas de générer le backend du site officielIP sur liste blanchesinon l'authentification échouera. Leur API récupère les derniers proxys en temps réel, ce qui représente beaucoup moins de travail que de les maintenir manuellement.
Lignes directrices pour le déminage - pièges communs
Q : Que dois-je faire si je ne peux pas me connecter à l'agent en permanence ?
R : Vérifiez d'abord que le type de protocole n'est pas correct, les sites https n'utilisent pas de proxy http. Le client d'ipipgo dispose d'une fonction de détection automatique, il est recommandé d'utiliser leur outil de test pour vérifier d'abord !
Q : Le système est-il plus lent après la mise en place du proxy ?
R : Quatre-vingt pour cent des agents des centres de données, ce type d'agent rapide mais facile à bloquer. Changez pour un agent résidentiel, comme ipipgo static residential bien que le prix unitaire soit plus élevé (35 yuans / a), mais la stabilité de l'agent ordinaire suspendu !
Q : Que se passe-t-il si j'ai besoin d'une IP multirégionale ?
R : Ajoutez le paramètre du code pays après l'adresse du proxy, par exemple@gateway.ipipgo.com?country=us. Ils prennent en charge plus de 200 pays et régions, et la collecte transfrontalière de données sur le commerce électronique est une fonction très pratique.
Conseils pour le jeu de haut niveau
1. enlogiciel intermédiaire de réessaiAjout d'une logique de commutation de proxy pour changer automatiquement d'adresse IP en cas de problème 403.
2. la mise en correspondanceUser-Agent personnaliséA utiliser pour doubler l'efficacité de l'anti-scellement
3. utilisation de l'ipipgoLigne TKCertaines plateformes de commerce électronique exigent des mécanismes spéciaux d'anti-escalade.
Un dernier point : ne perdez pas votre temps avec des proxys gratuits ! Le coût de la maintenance de votre propre pool de proxy est certainement plus élevé que l'achat d'un service prêt à l'emploi. Comme le package dynamique d'ipipgo, plus de 7 yuan 1G, suffisant pour escalader des centaines de milliers de pages, cet effort n'est pas aussi important que d'écrire deux scripts de crawler supplémentaires.

