IPIPGO proxy ip Distributed Crawler Framework : Tutoriel de déploiement du cluster Scrapy-Redis

Distributed Crawler Framework : Tutoriel de déploiement du cluster Scrapy-Redis

Tout d'abord, pourquoi jeter un crawler distribué ? Engagé dans la collecte de données de l'ancien conducteur comprendre, crawler autonome est comme boire du thé au lait avec une paille - toucher une grande quantité de données directement fatigué à la bouche des crampes. Le cadre Scrapy ordinaire peut exécuter un volume de données de quelques millions, si vous rencontrez le site Web impitoyable anti-crawler, quelques minutes à votre IP envoyé à la petite chambre noire. Cette ...

Distributed Crawler Framework : Tutoriel de déploiement du cluster Scrapy-Redis

I. Pourquoi se débarrasser des crawlers distribués ?

Le vieux conducteur qui s'est engagé dans la collecte de données comprend que le crawler autonome est comme boire du thé au lait avec une paille - toucher une grande quantité de données directement dans la bouche donne des crampes. Le cadre Scrapy ordinaire peut exécuter un volume de données de quelques millions, si vous rencontrez le site Web impitoyable anti-crawler, quelques minutes pour envoyer votre IP dans la petite salle noire. Cette fois-ciScrapy-Redis + Proxy IPCette combinaison revient à avoir le doigt d'or sur la roue, à pouvoir travailler de manière distribuée et à pouvoir changer de gilet à tout moment.

Manuel d'opérations de déploiement en grappe (Hardcore)

Tout d'abord, nous allons mettre en place trois serveurs (une machine virtuelle peut faire l'affaire si vous n'avez pas les moyens) et installer la base de données Redis. Voici le clou du spectacle : des projets Scrapy sur toutes les machinessettings.pyTout cela doit être accompagné de ces lignes :

REDIS_URL = 'redis://votre serveur IP:6379'
SCHEDULER = 'scrapy_redis.scheduler.Scheduler'
DUPEFILTER_CLASS = 'scrapy_redis.dupefilter.RFPDupeFilter'

N'oubliez pas de placer le fichier crawler dans le répertoirestart_urlsPasser à la lecture à partir de Redis :

def start_requests(self).
    for url in self.server.lrange('Crawler Task Queue', 0, -1): : yield scrapy.Request(url.decode("utf-8")).
        yield scrapy.Request(url.decode("utf-8"))

Troisièmement, la bonne façon d'ouvrir l'IP proxy

C'est ici que nous devons mettre en valeur notreService proxy ipipgoAujourd'hui, son API est conçue pour être extraordinairement simple. Ajoutez un middleware à middlewares.py :

import random
classe ProxyMiddleware.
    
        proxy_list = [
            'http://账号:密码@proxy.ipipgo.com:端口'.
             Il est recommandé d'utiliser des liens API générés dynamiquement ici
        ]
        request.meta['proxy'] = random.choice(proxy_list)

Rappel important : n'oubliez pas de mettre lePoint de réduction de la concurenceN'épuisez pas le pool d'IP du proxy. Il est recommandé d'ouvrir de 20 à 30 concurrents par nœud, en fonction du trafic acheté.

scénario d'erreur Programme de premiers secours
Le code d'état 429 apparaît Changement immédiat d'IP proxy + réduction de la fréquence d'exploration
Délai de connexion Redis Vérifier les paramètres d'incendie + ajouter un mécanisme de réessai

IV. guide pour éviter les pièges sur le terrain

1. ne jamais écrire une IP proxy morte dans le script du crawler, utiliser ipipgo'sInterface API dynamiqueSa famille peut changer plus de 5000 adresses IP par minute.

2) Ne soyez pas si têtu lorsque vous rencontrez un CAPTCHA, mettez en place une politique de réessai automatique + changez de package IP. le pool IP exclusif d'ipipgo est très utile à ce moment-là.

3. le journal se souvient de faire un traitement hiérarchique, le rapport d'erreur lié à l'IP du proxy est un fichier séparé, pour faciliter l'optimisation du suivi

V. White commune AQ

Q : Pourquoi mon nœud de crawler est-il toujours en train de saisir des tâches ?
R : Vérifiez la configuration de la commande BRPOP de Redis, il est recommandé d'utiliser différentes files d'attente pour le triage des priorités.

Q : Que dois-je faire si j'utilise une adresse IP proxy ou si je suis bloqué ?
A : 80% de l'en-tête de la requête n'est pas aléatoire, installez une bibliothèque fake_useragent, puis vérifiez la gestion des cookies.

Q : Comment choisir le bon forfait pour ipipgo ?
R : période d'essai avec paiement au volume, fonctionnement stable, forfait mensuel réduit. Concurrence : plus de 50 pools dynamiques de classe entreprise, avec des spécialistes pour la maintenance IP.

Dernière remarque : les crawlers distribués ne sont pas une solution miracle pour les ipipgo.Agent de routage intelligentavant qu'il ne prenne vraiment son envol. Pensez à mettre à jour régulièrement les règles de crawler, ne laissez pas la stratégie anti-crawler se mettre à niveau dans la fosse. Si vous avez des problèmes de déploiement, vous pouvez directement @ leur service client technique, la vitesse de réponse est N fois plus rapide que l'agent libre...

Cet article a été initialement publié ou compilé par ipipgo.https://www.ipipgo.com/fr/ipdaili/29552.html

scénario d'entreprise

Découvrez d'autres solutions de services professionnels

💡 Cliquez sur le bouton pour plus de détails sur les services professionnels

新春惊喜狂欢,代理ip秒杀价!

Fournisseur professionnel de services d'IP proxy étrangers-IPIPGO

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Nous contacter

Nous contacter

13260757327

Demande de renseignements en ligne. QQ chat

Courriel : hai.liu@xiaoxitech.com

Horaires de travail : du lundi au vendredi, de 9h30 à 18h30, jours fériés.
Suivre WeChat
Suivez-nous sur WeChat

Suivez-nous sur WeChat

Haut de page
fr_FRFrançais