
Le positionnement des outils n'est pas la solution
Scrapy est une structure de crawler sérieuse, depuis la requête réseau jusqu'au stockage des données, tout compris, comme la construction d'une maison pour que vous puissiez construire un bon échafaudage. BeautifulSoup est un analyseur HTML, comme manger des crabes avec des pincettes, spécifiquement à partir de la page web pour récupérer des données. Par exemple, si vous voulez utiliser Scrapy pour faire du crawling sur le web, ils sont livrés avec des tentatives automatiques, le contrôle de la concurrence de ces mécanismes, mais si vous utilisez BeautifulSoup, vous devez faire leur propre bibliothèque avec une demande pour les requêtes de réseau, gérer manuellement toutes sortes d'exceptions.
En ce qui concerne les adresses IP des serveurs mandataires, Scrapy dispose de l'interface suivantemécanisme d'intergiciel intégréSi vous utilisez BeautifulSoup, vous devez insérer les paramètres du proxy séparément à chaque requests.get(), et si vous devez changer l'IP fréquemment, le code peut vous donner une chance. Et si vous utilisez BeautifulSoup, vous devez bourrer le paramètre proxy dans chaque requests.get(), et si vous avez besoin de changer l'IP fréquemment, le code peut vous enrouler dans une pelote de laine.
Il y a une différence générationnelle dans la façon de traiter les données.
La spécialité de BeautifulSoup est d'analyser les documents HTML désordonnés et de corriger les erreurs d'imbrication de balises ou les pages web mal formatées. Les sélecteurs XPath et CSS sont également faciles à utiliser et conviennent particulièrement bien aux applications suivantespositionnement précisPage Elements. Mais le sélecteur propre à Scrapy n'est pas si mal, et il fonctionne de manière transparente avec la logique de crawling.
Concentration sur les problèmes d'adaptation de l'IP du proxy. Avec les proxies rotatifs d'ipipgo, Scrapy a puTélécharger le logiciel médiateurLe niveau de changement automatique d'IP, par exemple, défini toutes les 5 pages pour capturer les temps de changement de proxy. Si vous utilisez BeautifulSoup+requests, vous devez écrire votre propre gestionnaire de pool d'IP, et vous risquez de ne pas pouvoir changer de proxy à temps, ce qui peut conduire à un blocage d'IP.
Capacité de réponse anti-crawl
现在网站的反爬机制越来越狠,这时候就看出框架的优势了。Scrapy自带User-Agent轮换、请求设置,配合ipipgo的高匿代理,能把你的爬虫伪装成Accès réel des utilisateursJe ne sais pas si vous êtes quelqu'un de bien, mais je suis quelqu'un de bien. Récemment, pour aider les gens à réaliser le projet, j'ai acquis une connaissance approfondie de l'utilisation de proxies gratuits pour escalader une plate-forme de commerce électronique, 10 minutes pour être bloqué, remplacé par l'IP exclusive d'ipipgo, fonctionnant pendant trois jours d'affilée, tout va bien.
Si vous utilisez le programme BeautifulSoup, ces mesures anti-escalade doivent construire leurs propres roues. Par exemple, pour traiter les CAPTCHA et maintenir le pool de cookies, il est facile pour les novices inexpérimentés d'être aveugles. Ici, pour insérer une phrase de vérité, il faut vraiment faire un crawler de classe professionnelle, ou utiliser Scrapy + des services de proxy professionnels pour sauver le cœur.
Scénarios applicables au bon endroit
Il est plus visuel de donner aux gars l'ensemble du tableau comparatif :
| terme de comparaison | Ferraille | BeautifulSoup |
|---|---|---|
| Taille du projet | Projets de moyenne à grande envergure | la recherche à petite échelle |
| Coûts d'apprentissage | Pour apprendre le concept de cadre | démarrer rapidement |
| Intégration des agents | Fichier de configuration terminé. | Manipulation manuelle des codes |
| concurrence | Support asynchrone par défaut | s'appuyer sur plusieurs fils pour soutenir son travail |
Pour donner un cas réel : avant de monter sur un site de recrutement, avec le script BeautifulSoup au début ok, et donc monter jusqu'à la 200e page de l'IP sera bloqué. Plus tard, on a changé pour utiliser le framework Scrapy, dans settings.py configurer l'interface API ipipgo, mettre CONCURRENT_REQUESTS = 32, l'agent tourne automatiquement, la vitesse de décollage direct n'a pas été bloquée.
Foire aux questions QA
Q : Quel outil dois-je choisir si je débute ?
R : Si vous voulez juste prendre quelques pages et vous amuser avec, BeautifulSoup + l'agent payant d'ipipgo est suffisant. Mais si vous voulez faire des projets sérieux, il est recommandé d'apprendre Scrapy directement, ce qui est plus efficace à long terme.
Q : Qu'y a-t-il de mal à utiliser une adresse IP proxy et à rester bloqué ?
R : La qualité du proxy peut ne pas fonctionner, et de nombreux proxys gratuits sont sur liste noire. Nous recommandons d'utiliser le proxy résidentiel pur d'ipipgo, nous avons testé le taux de blocage peut être contrôlé à 5% ci-dessous.
Q : Comment Scrapy configure-t-il le proxy d'ipipgo ?
R : Il s'agit d'ajouter trois lignes de code à middlewares.py :
"`python
request.meta['proxy'] = "http://用户名:密码@gateway.ipipgo.com:端口"
“`
N'oubliez pas d'ouvrir le logiciel intermédiaire de téléchargement dans les paramètres et de vous rendre sur le site officiel pour consulter la documentation.
Enfin, je voudrais dire que l'outil lui-même n'est pas haut ou bas, l'essentiel est de correspondre à la scène. Mais s'il s'agit d'une utilisation commerciale, n'économisez pas l'argent du proxy, l'utilisation de l'IP de qualité d'ipipgo peut réduire beaucoup de détours. Il y a quelques jours, certains clients ont essayé d'utiliser un proxy gratuit, mais le résultat a été qu'ils n'ont pas capturé beaucoup de données, mais ont plutôt pris l'IP du serveur, ce qui a été une grande perte, n'est-ce pas ?

