Scrapy
Cet article est une ébauche concernant l’informatique.
Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.
Cet article ne cite pas suffisamment ses sources ().
Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références ».
En pratique : Quelles sources sont attendues ? Comment ajouter mes sources ?
Développé par | Pablo Hoffman (d) |
---|---|
Dernière version | 1.6.0 () |
Dépôt | github.com/scrapy/scrapy |
Assurance qualité | Intégration continue |
Écrit en | Python |
Système d'exploitation | Microsoft Windows, Linux, macOS et Berkeley Software Distribution |
Environnement | Multi-plateforme |
Langues | Anglais |
Type | Robot d'indexation |
Licence | Licence propriétaire Scrapy |
Site web | www.scrapy.org |
modifier - modifier le code - voir Wikidata (aide)
Scrapy est un framework open-source permettant la création de robots d'indexation. Développé en Python, il dispose d'une forte communauté, offrant de nombreux modules supplémentaires. La première version stable a été publiée en [1]. Depuis, l'équipe de développement publie régulièrement de nouvelles versions dans le but d'enrichir le framework en fonctionnalité. L'objectif principal est d'obtenir une API stable pour la version 1.0[2]. Le framework dispose d'une communauté active, et un support commercial est effectué par plusieurs entreprises[3].
Le framework est compatible Python 2.7 et Python 3.6 ou au-dessus, sur la majorité des plates-formes.
Caractéristiques
L'équipe responsable du développement du framework lui confère plusieurs caractéristiques[4] :
- Simple : aucune notion avancée en Python n'est nécessaire pour utiliser Scrapy
- Productif : l'empreinte de code à générer est très courte, la plupart des opérations sont gérées par Scrapy
- Rapide : le framework est rapide, avec une gestion d'actions en parallèle notamment
- Extensible : chaque robot peut être personnalisés via des extensions, modifiant son comportement
- Portable : les robots Scrapy sont compatibles Linux, Windows, Mac et BSD
- Open Source
- Robuste, grâce à une batterie de tests effectuées aussi bien par les développeurs que la communauté
Exemple de robot
Le site web du projet propose un tutoriel détaillé sur l'utilisation de Scrapy[5]. Ce cours propose notamment plusieurs exemples, comme celui ci-contre, extrayant certains liens présents sur plusieurs pages web.
from scrapy.spider import BaseSpider from scrapy.selector import HtmlXPathSelector from tutorial.items import DmozItem class DmozSpider(BaseSpider): name = "dmoz" allowed_domains = ["dmoz.org"] start_urls = [ "http://www.dmoz.org/Computers/Programming/Languages/Python/Books/", "http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/" ] def parse(self, response): hxs = HtmlXPathSelector(response) sites = hxs.select('//ul/li') items = [] for site in sites: item = DmozItem() item['title'] = site.select('a/text()').extract() item['link'] = site.select('a/@href').extract() item['desc'] = site.select('text()').extract() items.append(item) return items
Notes et références
v · m Python | ||
---|---|---|
Implémentation |
| |
Framework | ||
IDE |
| |
Organisations | ||
Autres |
v · m | |||||
---|---|---|---|---|---|
Python |
| ||||
PHP | |||||
Ruby |
| ||||
Perl |
| ||||
Smalltalk | Seaside | ||||
JavaScript |
| ||||
CSS |
| ||||
Java | |||||
.NET |
- Portail de la programmation informatique