Scrapy è un framework open source che consente la creazione di crawler . Sviluppato in Python , ha una forte comunità, che offre molti moduli aggiuntivi. La prima versione stabile è stata rilasciata insettembre 2009. Da allora, il team di sviluppo pubblica regolarmente nuove versioni per arricchire il framework in termini di funzionalità. L'obiettivo principale è ottenere un'API stabile per la versione 1.0. Il framework ha una comunità attiva e il supporto commerciale è fornito da diverse società.
Il framework è compatibile con Python 2.7 e Python 3.6 o versioni successive, sulla maggior parte delle piattaforme.
Il team responsabile dello sviluppo del framework gli conferisce diverse caratteristiche:
Il sito web del progetto offre un tutorial dettagliato sull'uso di Scrapy. Questo corso offre diversi esempi, come quello qui accanto, estraendo alcuni link presenti su più pagine 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