Je souhaite créer un site Web qui montre la comparaison entre le prix des produits amazon et e-bay. Lequel de ceux-ci fonctionnera mieux et pourquoi? Je connais un peu BeautifulSoup mais pas tellement le robot Scrapy .
Je souhaite créer un site Web qui montre la comparaison entre le prix des produits amazon et e-bay. Lequel de ceux-ci fonctionnera mieux et pourquoi? Je connais un peu BeautifulSoup mais pas tellement le robot Scrapy .
Réponses:
Scrapy est un framework Web-spider ou web scraper , vous donnez à Scrapy une URL racine pour commencer l'exploration, puis vous pouvez spécifier des contraintes sur le nombre (nombre d'URL) que vous souhaitez explorer et récupérer, etc. C'est un framework complet pour le web-scraping ou l' exploration .
Tandis que
BeautifulSoup est une bibliothèque d'analyse qui fait également un très bon travail de récupération du contenu à partir de l'URL et vous permet d'analyser certaines parties d'entre eux sans aucun problème. Il ne récupère que le contenu de l'URL que vous donnez, puis s'arrête. Il n'analyse pas sauf si vous le placez manuellement dans une boucle infinie avec certains critères.
En termes simples, avec Beautiful Soup, vous pouvez créer quelque chose de similaire à Scrapy. Beautiful Soup est une bibliothèque tandis que Scrapy est un framework complet .
Je pense que les deux sont bons ... je fais actuellement un projet qui utilise les deux. Tout d'abord, je supprime toutes les pages à l'aide de scrapy et je l'enregistre sur une collection mongodb en utilisant leurs pipelines, en téléchargeant également les images qui existent sur la page. Après cela, j'utilise BeautifulSoup4 pour faire un traitement de position où je dois changer les valeurs des attributs et obtenir des balises spéciales.
Si vous ne savez pas quelles pages produits vous voulez, un bon outil sera scrapy puisque vous pouvez utiliser leurs robots d'exploration pour exécuter tous les sites Web amazon / ebay à la recherche des produits sans faire de boucle for explicite.
Jetez un œil à la documentation scrapy, c'est très simple à utiliser.
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 package pour obtenir des données à partir d'un script java ou pour charger dynamiquement des pages.
Scrapy with BeautifulSoup est l'un des meilleurs combos avec lesquels nous pouvons travailler pour gratter des contenus statiques et dynamiques
La façon dont je le fais est d'utiliser l'API eBay / Amazon plutôt que de scrapy, 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 que vous auriez obtenues du robot scrapy, sans avoir à vous soucier de cacher votre identité, de vous embêter avec des proxys, etc.
Scrapy C'est un framework de scraping Web qui contient des tonnes de goodies qui facilitent le scraping afin que nous puissions nous concentrer uniquement sur la logique d'exploration. Certaines de mes choses préférées que 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 d'autres en-têtes de manière dynamique.
Pipelines d'articles : les pipelines nous permettent de traiter les données après l'extraction. Par exemple, nous pouvons configurer le pipeline pour pousser les données vers 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 créer des analyses à grande échelle. Il fournit diverses fonctionnalités qui masquent la complexité de l'exploration des sites Web. on peut simplement commencer à écrire des robots d'exploration sans se soucier du fardeau de l'installation.
Beautiful soup Beautiful Soup est un package Python permettant d' analyser les documents HTML et XML . Ainsi, avec Beautiful soup, vous pouvez analyser une page Web qui a déjà été téléchargée. BS4 est très populaire et ancien. Contrairement à la scrapy, vous ne pouvez pas utiliser une belle soupe uniquement pour faire des robots d'exploration . Vous aurez besoin d'autres bibliothèques comme les requêtes, urllib, etc. pour créer des robots d'exploration avec bs4. Encore une fois, cela signifie que vous devrez gérer la liste des URL en cours d'exploration, pour être explorées, gérer les cookies, gérer le proxy, gérer les erreurs, créer vos propres fonctions pour pousser les données vers CSV, JSON, XML, etc. Si vous voulez accélérer que vous devrez utiliser d'autres bibliothèques comme le multitraitement .
Pour résumer.
Scrapy est un framework riche que vous pouvez utiliser pour commencer à écrire des robots d'exploration sans aucune vente.
Beautiful soupe est une bibliothèque que vous pouvez utiliser pour analyser une page Web. Il ne peut pas être utilisé seul pour gratter le Web.
Vous devez absolument utiliser scrapy pour votre site Web de comparaison de prix de produits amazon et e-bay. Vous pouvez créer une base de données d'urls et exécuter le robot d'exploration tous les jours (tâches cron, Celery pour la planification des analyses) et mettre à jour le prix de votre base de données. De cette façon, votre site Web tirera toujours de la base de données et le robot d'exploration et la base de données agiront comme des composants individuels.
BeautifulSoup est une bibliothèque qui vous permet d'extraire des informations d'une page Web.
Scrapy, quant à lui, est un framework qui fait la chose ci-dessus et bien d'autres choses dont vous avez probablement besoin dans votre projet de scraping, comme des pipelines pour enregistrer des données.
Vous pouvez consulter ce blog pour commencer avec Scrapy https://www.inkoop.io/blog/web-scraping-using-python-and-scrapy/
Les différences sont nombreuses et le choix de tout outil / technologie dépend des besoins individuels.
Quelques différences majeures sont: