Je souhaite créer un site Web présentant la comparaison entre Amazon et le prix du produit e-bay . Je connais un peu BeautifulSoup mais pas tellement avec Scrapy crawler .
Scrapy est un spider Web ou framework Web Scraper, vous attribuez à Scrapy une URL racine pour commencer l'analyse, puis vous pouvez spécifier des contraintes sur le nombre d'URL que vous souhaitez analyser. et chercher, etc. C'est un cadre complet pour le Web-scraping ou crawling.
Tandis que
BeautifulSoup est une bibliothèque d'analyse, qui récupère également assez bien le contenu de l'URL et vous permet d'analyser certaines parties de celles-ci sans aucune difficulté. Il ne récupère que le contenu de l'URL que vous avez donné, puis s'arrête. Il n'analyse que si vous le placez manuellement dans une boucle infinie avec certains critères.
En termes simples, avec Beautiful Soup, vous pouvez construire quelque chose de similaire à Scrapy . Beautiful Soup est un bibliothèque tandis que Scrapy est un cadre complet.
source: http://www.quora.com/Python-programming-language-1/How-is-BeautifulSoup-different-from-Scrapy
Je pense que les deux sont bons ... je fais un projet en ce moment qui utilise les deux. Tout d'abord, je supprime toutes les pages avec scrapy et les enregistre sur une collection mongodb à l'aide de leurs pipelines, en téléchargeant également les images existantes sur la page . Après cela, j'utilise BeautifulSoup4 pour créer un traitement de poste dans lequel obtenir des étiquettes spéciales.
Si vous ne connaissez pas les pages de produits que vous voulez, un bon outil vous rendra compte que vous pouvez utiliser leurs robots d'exploration pour exécuter tous les sites Web Amazon/eBay à la recherche des produits sans créer de boucle for explicite.
Jetez un coup d'œil à la documentation, très simple à utiliser.
La façon dont je le fais est d'utiliser les API eBay/Amazon plutôt que de faire des bêtises, puis d'analyser les résultats à l'aide de BeautifulSoup.
Les API vous offrent un moyen officiel d’obtenir les mêmes données que celles fournies par un robot d'exploration, sans avoir à vous inquiéter de la dissimulation de votre identité, des problèmes de proxy, etc.
Les deux utilisent pour analyser les données.
Scrapy :
BeautifulSoup :
Beautiful Soup est une bibliothèque Python permettant d'extraire des données de fichiers HTML et XML.
nous pouvons utiliser ce paquet pour obtenir des données depuis un script Java ou en chargeant dynamiquement des pages.
Scrapy avec BeautifulSoup est l’un des meilleurs combos que nous pouvons utiliser pour supprimer des contenus statiques et dynamiques
Scrapy Il s'agit d'un cadre de grattage Web qui vient avec des tonnes de friandises qui facilitent le grattage afin que nous puissions nous concentrer uniquement sur la logique d'exploration. Certaines de mes choses préférées scrapy prend soin de nous sont ci-dessous.
Définition du proxy, de l'agent utilisateur, des en-têtes, etc.: scrapy nous permet de définir et de faire pivoter le proxy et les autres en-têtes de manière dynamique.
Pipelines d'éléments : Les pipelines nous permettent de traiter les données après l'extraction. Par exemple, nous pouvons configurer le pipeline pour transmettre des données à votre serveur mysql.
Cookies: scrapy gère automatiquement les cookies pour nous.
etc.
TLDR: scrapy est un framework qui fournit tout ce dont on peut avoir besoin pour construire des analyses à grande échelle. Il fournit diverses fonctionnalités qui masquent la complexité de l'analyse des sites Web. on peut simplement commencer à écrire des robots d'exploration Web sans se soucier de la charge d'installation.
Belle soupe Belle soupe est un package Python pour l'analyse Documents HTML et XML . Ainsi, avec Beautiful soup, vous pouvez analyser une page Web déjà téléchargée. BS4 est très populaire et ancien. Contrairement à scrapy, Vous ne pouvez pas utiliser une belle soupe uniquement pour fabriquer des robots d'exploration . Vous aurez besoin d'autres bibliothèques telles que request, urllib, etc. pour créer des robots avec bs4. Encore une fois, cela signifie que vous devez gérer la liste des URL analysées, être analysé, gérer les cookies, gérer le proxy, gérer les erreurs, créer vos propres fonctions pour transmettre des données au format CSV, JSON, XML, etc. Si vous souhaitez accélérer que vous devrez utiliser d'autres bibliothèques comme multitraitement .
Pour résumer.
Scrapy est un framework riche que vous pouvez utiliser pour commencer à écrire des robots sans hassale.
Beautiful Soup est une bibliothèque que vous pouvez utiliser pour analyser une page Web. Il ne peut pas être utilisé seul pour gratter la toile.
Vous devez absolument utiliser scrapy pour votre site de comparaison de prix de produits Amazon et e-bay. Vous pouvez créer une base de données d'URL et exécuter le robot tous les jours (travaux cron, Celery pour la planification des analyses) et mettre à jour le prix sur votre base de données. De cette manière, votre site Web sera toujours extrait de la base de données et le robot et la base de données agiront comme des composants individuels.
Les différences sont nombreuses et le choix de tout outil/technologie dépend des besoins individuels.
Peu de différences majeures sont:
En utilisant scrapy vous pouvez économiser des tonnes de code et commencer avec une programmation structurée. Si vous n'aimez aucune des méthodes pré-écrites de scapy, alors BeautifulSoup peut être utilisé à la place de la méthode scrapy . Big projet prend les deux avantages.