
Les crawlers Python sont toujours bloqués ? Essayez cette astuce
Les frères crawlers comprennent que le plus grand mal de tête est l'IP bloquée. Le code durement écrit qui s'exécute s'arrête soudainement, le serveur renvoie 403, on a l'impression que le jeu a été mis hors ligne de force. C'est le moment deIP proxyC'est une sorte de cape d'invisibilité pour les robots d'indexation, de sorte que le site cible ne peut pas vous reconnaître pour ce que vous êtes réellement.
Comment charger une IP proxy dans un crawler ?
En prenant comme exemple la bibliothèque de requêtes la plus couramment utilisée, il suffit d'ajouter un paramètre proxies à la requête et le tour est joué. Notez que vous devez utiliser le paramètreAgents à forte valeur ajoutéeN'utilisez pas ces proxys génériques de mauvaise qualité :
demandes d'importation
proxy = {
'http' : 'http://用户名:密码@ipipgo-proxy-server:port',
'https' : 'https://用户名:密码@ipipgo-proxy-server:port'
}
response = requests.get('destination URL', proxies=proxy)
Voici une recommandation pour ipipgoAgents résidentiels dynamiquesLe pool d'IP de leur maison est préparé avec des millions d'IP résidentielles réelles, qui sont plus difficiles à identifier que le proxy de la salle des serveurs. Après l'enregistrement, vous recevrez le lien API exclusif, et vous pourrez directement remplacer l'adresse proxy ci-dessus.
Comment associer des agents à un moteur de recherche multithread ?
Le mode mono-thread avec l'agent est trop gaspilleur, il faut coopérer avec le mode multi-thread pour décoller. Il est recommandé d'utiliser le mode double pool de threads + pool d'agents, voici une version simplifiée de la démonstration :
from concurrent.futures import ThreadPoolExecutor
import random
def worker(url) : current_proxy = random.choice(ipipgo_proxy_list)
current_proxy = random.choice(ipipgo_proxy_list) Choisit aléatoirement dans le pool d'adresses IP de ipipgo_proxy_list.
try : current_proxy = random.choice(ipipgo_proxy_list)
response = requests.get(url, proxies=current_proxy, timeout=10)
Traitement des données...
sauf.
Supprimer automatiquement les proxies invalides
ipipgo_proxy_list.remove(current_proxy)
avec ThreadPoolExecutor(max_workers=20) comme executor.
executor.map(worker, url_list)
Veillez à définir un délai raisonnable, entre 3 et 10 secondes est recommandé. Les proxies d'ipipgo sont les suivantsmécanisme de fusion automatiqueSi vous rencontrez une IP non valide, elle sera commutée automatiquement, de sorte que vous n'aurez pas à vous en occuper manuellement.
Comment choisir un type d'IP proxy ?
| typologie | Scénarios applicables | index recommandé |
|---|---|---|
| Agents de centre de données | Acquisition simple des données | ★★☆☆ |
| Agent résidentiel | Sites anti-crawl très difficiles à gérer | ★★★★ |
| Agent mobile | Capture de données APP | ★★★★☆ |
L'expérience personnelle estAgent résidentielLe meilleur rapport qualité-prix. Les offres de proxy résidentiel comme celles d'ipipgo comptent plus de 100 000 IP qui tournent chaque jour, ce qui est plus que suffisant pour les projets de petite et moyenne envergure. Si vous êtes engagé dans une collecte de données à grande échelle, il est recommandé d'opter pour le service de proxy résidentiel d'ipipgo.Édition personnalisée pour les entreprisesIl permet le paiement à l'utilisation.
Guide pratique pour éviter la fosse
1. Ne pas utiliser d'agents libres.-Sans compter que nombre d'entre eux sont des pièges à miel, conçus pour attraper les "rampants" (crawlers).
2. changer aléatoirement l'UA avant chaque demande, de sorte que l'agent utilisateur ne se révèle pas.
3) Afin de contrôler la fréquence des visites, il est recommandé que le site cibleintervalle d'accèsajoute un nombre aléatoire à
4) Vérifier régulièrement la disponibilité du proxy, nous recommandons d'utiliser ipipgo qui est fourni avec l'applicationBilan de santé API
Foire aux questions QA
Q : L'IP Proxy devient plus lente lorsque je l'utilise ?
A:Peut-être que la vitesse de l'IP est limitée, soumettez un ordre de travail dans l'arrière-plan de l'ipipgo, le technicien changera la nouvelle ligne en 5 minutes !
Q : Que se passe-t-il si le robot d'indexation doit gérer des CAPTCHA ?
A : ipipgo'sAgent de routage intelligentPrend en charge la reconnaissance automatique des CAPTCHA, mais vous devez payer un supplément pour l'offre premium.
Q : Comment puis-je savoir si une procuration est en vigueur ?
R : Visitez http://httpbin.org/ip pour voir si l'IP renvoyée est une IP proxy.
Pourquoi ipipgo ?
1. les mesures réelles99.2%disponibilité avec un taux de perte de paquets inférieur à 0,31 TP3T
2. technologie exclusive de préchauffage des IP, la durée de vie des nouveaux IP est 3 fois supérieure à celle de leurs homologues
3. soutientaux horaireLe programme temporaire ne nécessite pas d'abonnement mensuel.
4. Service clientèle réel 7 × 24 heures, trois heures au milieu de la nuit peuvent également trouver une assistance technique.
Enfin, pour dire la vérité, le choix d'un fournisseur de services proxy est comme la recherche d'un partenaire, il suffit de regarder le prix pour tomber dans le piège. J'ai utilisé cinq ou six fournisseurs de services, et en fin de compte, ipipgo est le plus sûr. Leurs ressources IP sont leur propre salle de serveurs, contrairement aux revendeurs d'IP d'occasion qui vendent des IP d'occasion, ce qui est vraiment inquiétant.

