Maison >développement back-end >Tutoriel Python >Utilisez Crawlera dans le robot Scrapy pour résoudre les problèmes d'anti-exploration
Avec la croissance rapide des informations sur Internet, les robots d'exploration Web sont devenus un outil très important. Ils peuvent récupérer des informations sur le Web, explorer des données sur des sites Web et jouent un rôle important dans la collecte et l’analyse des données. La popularité de la technologie anti-crawler expose les robots au risque d’être interdits.
Lors de l'exploration des données, les propriétaires de sites Web peuvent résister aux robots d'exploration de diverses manières, en restreignant et en entravant les programmes d'exploration, tels que la définition de limites de fréquence d'accès, de codes de vérification, de blocage IP, etc. Bien entendu, ces stratégies ne sont pas efficaces à 100 % et de nombreuses personnes peuvent encore utiliser des services proxy pour contourner ces défenses. Récemment, un nouvel outil anti-crawler est apparu dans l'industrie des robots d'exploration, appelé Crawlera. Il s'agit d'un framework open source pour les robots d'exploration qui se concentre sur les problèmes d'agence.
Scrapy est un framework de robot d'exploration Web populaire écrit en Python. Scrapy est basé sur le framework Twisted et utilise un traitement asynchrone pour améliorer l'efficacité des robots d'exploration. Dans Scrapy Crawler, l'utilisation de Crawlera comme serveur proxy peut bien résoudre le problème anti-crawler. Cet article décrit comment utiliser le serveur proxy Crawlera dans Scrapy pour explorer les données d'un site Web spécifique.
Tout d'abord, vous devez créer un compte Crawlera. Vous pouvez demander un compte Crawlera sur le site officiel et obtenir une clé API. Ensuite, vous pouvez commencer à configurer Scrapy.
Dans le fichier settings.py, ajoutez l'extrait de code suivant pour activer le middleware Crawlera :
CRAWLERA_ENABLED = True CRAWLERA_APIKEY = '<Your-API-KEY>' DOWNLOADER_MIDDLEWARES = { 'scrapy_crawlera.CrawleraMiddleware': 610 }
où fc4e4240406c22d2a7b9e05f16452368
doit être remplacé par votre clé API Crawlera. Faites attention à la valeur du middleware, car elle détermine l'ordre dans lequel le middleware est exécuté. Le middleware Scrapy est exécuté dans l'ordre numérique, il est donc important de placer Crawlera après les autres middlewares.
Vous pouvez maintenant exécuter le robot et voir si Crawlera a été utilisé avec succès. La commande pour démarrer le robot est :
scrapy crawl <spider-name>
S'il est démarré avec succès, vous pouvez voir le résultat suivant dans la fenêtre du terminal :
2017-04-11 10:26:29 [scrapy.utils.log] INFO: Using Crawlera proxy <http://proxy.crawlera.com:8010>: tor-exit-crawlera
En utilisant le serveur proxy Crawlera, le robot doit être payé pour son utilisation. Crawlera propose deux méthodes de facturation : la facturation de la bande passante et la facturation des demandes. Pour la méthode de facturation Bande passante, l'utilisation de la bande passante par seconde détermine le montant du paiement. La méthode de facturation des requêtes est basée sur le nombre total de requêtes du robot. Vous pouvez choisir l'une des méthodes en fonction de vos besoins réels.
Il convient également de mentionner que Crawlera est également doté de fonctionnalités d'équilibrage de charge et de haute disponibilité. Ces fonctionnalités peuvent vous aider à tirer parti de plusieurs serveurs proxy et à éviter la panne d'un seul serveur proxy. Un autre avantage de l'utilisation des serveurs proxy Crawlera est qu'ils prennent en compte les requêtes/concurrences asynchrones de Scrapy.
En bref, Crawlera est l'un des facteurs clés permettant à Scrapy de réussir à explorer les sites Web, et c'est sans aucun doute une solution anti-crawler très efficace. En utilisant Crawlera, vous pouvez explorer les données de manière stable tout en économisant du temps et des efforts.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!