Scrapy

bibliothèque logicielle Python From Wikipedia, the free encyclopedia

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 est publiée en [3]. Le framework dispose d'une communauté active, et un support commercial est effectué par plusieurs entreprises[4].

Faits en bref Développé par, Dernière version ...
Scrapy
Description de l'image Scrapy logo.png.
Informations
Développé par Pablo Hoffman (d)Voir et modifier les données sur Wikidata
Dernière version 2.13.4 ()[1]Voir et modifier les données sur Wikidata
Dépôt github.com/scrapy/scrapyVoir et modifier les données sur Wikidata
Assurance qualité Intégration continueVoir et modifier les données sur Wikidata
Écrit en Python
Système d'exploitation Microsoft Windows, Linux, macOS et Berkeley Software DistributionVoir et modifier les données sur Wikidata
Environnement Multi-plateforme
Langues Anglais
Type Robot d'indexation
Licence BSD 3-clauses[2]
Site web www.scrapy.org
Fermer

Caractéristiques

L'équipe responsable du développement du framework lui confère plusieurs caractéristiques[5] :

  • 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[6]. 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

Related Articles

Wikiwand AI