Scrapy : un framework de scraping web rapide et de haut niveau pour Python
Scrapy, un framework d'exploration et de scraping Web rapide de haut niveau pour Python.
En bref
- De quoi s’agit-il ?
- Ce que le README et les métadonnées du dépôt disent de Scrapy : installation, maintenance et licence BSD-3-Clause.
- À qui s’adresse-t-il ?
- Le README de Scrapy est volontairement court : il identifie le framework, donne une commande d'installation et renvoie le reste à la documentation. Les métadonnées du dépôt ajoutent le contexte d'échelle et de maintenance, et la licence précise les conditions de redistribution sans promettre de support.
- Puis-je l’utiliser commercialement ?
- Oui. BSD-3-Clause est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
- Est-il encore maintenu ?
- Oui. Les derniers commits datent d’il y a 1 jour.
- En quel langage est-il écrit ?
- Principalement Python, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
Un framework, pas un script de scraping isolé
Le README commence par décrire Scrapy comme un framework de scraping web destiné à extraire des données structurées de sites web. C'est une catégorie différente d'un simple script de scraping : un framework fournit la structure d'un crawler, et les métadonnées du dépôt ajoutent que Scrapy est un framework de haut niveau conçu pour la vitesse. Le README lui-même n'énumère pas les composants de ce framework. Tout ce qui concerne les sélecteurs, les pipelines, les middlewares ou le modèle requête/réponse doit donc être vérifié dans la documentation liée, plutôt que déduit de ce fichier. Il ne dit pas non plus comment le framework se rapporte aux bibliothèques tierces, ni s'il fournit un planificateur intégré ou une déduplication.
Installation et version de Python
La seule commande d'installation donnée dans le README est `pip install scrapy`. Il n'y est pas question d'environnements virtuels, de gestionnaires de paquets propres à un système d'exploitation, ni de contraintes de dépendances au-delà de Python lui-même. Le README indique que Scrapy est multiplateforme et nécessite Python 3.10 ou plus récent. Il ne précise pas quelles anciennes versions de Python ont été prises en charge ni pendant combien de temps une version donnée restera prise en charge ; ces détails appartiennent à l'historique des versions PyPI et à la documentation liée. Le README n'explique pas non plus comment créer un projet, exécuter un spider ou exporter des données. L'apprentissage après l'installation repose donc sur la documentation officielle.
Mainteneurs et voie de contribution
Scrapy est maintenu par Zyte, que le README identifie comme l'ancienne société Scrapinghub, et par de nombreux autres contributeurs. Le README renvoie au graphique des contributeurs et à un guide de contribution séparé dans la documentation. Il ne décrit pas de code de conduite, de modèle d'issue ni de processus de revue de pull request. Pour un projet comptant 572 issues ouvertes au moment de l'instantané du dépôt, le flux de contribution pratique doit être lu dans le guide de contribution et le traqueur d'issues, pas dans le README. Le rythme des versions, les canaux d'annonces de sécurité et le support communautaire ne sont pas non plus abordés.
Aperçu des métadonnées du dépôt
L'instantané des métadonnées du dépôt indique 63 647 étoiles, 11 859 forks et 572 issues ouvertes. La branche par défaut est master, le dépôt n'est pas archivé et la page d'accueil est scrapy.org. Ces chiffres sont un comptage ponctuel ; ils ne renseignent pas sur la fréquence des commits, le rythme des versions ni la répartition entre bugs et demandes de fonctionnalités parmi les issues ouvertes. Le README ne mentionne aucune de ces métriques, il s'agit donc uniquement d'informations de métadonnées. Pour savoir si le projet est actif, il faut consulter l'historique des commits et les versions récentes, pas seulement le nombre d'étoiles.
Licence BSD-3-Clause et ses limites
Scrapy utilise la licence BSD-3-Clause. Cette licence permet la redistribution sous forme de source et de binaire, à condition que l'avis de droit d'auteur, la liste des conditions et l'avertissement soient reproduits, et que, pour les distributions binaires, ils soient inclus dans la documentation ou d'autres matériels fournis. De plus, le nom de Scrapy et celui de ses contributeurs ne peuvent pas être utilisés pour promouvoir des produits dérivés sans autorisation écrite préalable. La licence contient une exclusion de garantie et une limitation de responsabilité. Elle ne dit rien sur la disponibilité du support, les correctifs de sécurité ou les engagements de maintenance ; ces sujets sont hors du texte de la licence.
Ce que le README laisse à la documentation
Le README est volontairement minimal. Il donne le nom du projet, une commande d'installation, un lien vers la documentation et un lien vers le guide de contribution. Il n'explique pas comment définir un spider, extraire des champs, suivre des liens ou gérer la pagination. Il ne présente pas non plus de benchmarks, d'exemples de déploiement ni de liste d'utilisateurs en production. Une personne qui évalue Scrapy doit continuer vers la documentation liée, et c'est exactement là que le README pointe. Le README ne dit pas si le projet maintient un registre de plugins ni s'il promet une API stable pour les extensions tierces. Ces évaluations doivent s'appuyer sur la documentation et le code réel.
Conclusion éditoriale
Le README de Scrapy est volontairement court : il identifie le framework, donne une commande d'installation et renvoie le reste à la documentation. Les métadonnées du dépôt ajoutent le contexte d'échelle et de maintenance, et la licence précise les conditions de redistribution sans promettre de support.
Notes de la communauté