Scrapy este un cadru open-source care permite crearea crawlerelor . Dezvoltat în Python , are o comunitate puternică, oferind multe module suplimentare. Prima versiune stabilă a fost lansată înseptembrie 2009. De atunci, echipa de dezvoltare publică în mod regulat noi versiuni pentru a îmbogăți cadrul în funcționalitate. Scopul principal este de a obține un API stabil pentru versiunea 1.0. Cadrul are o comunitate activă, iar sprijinul comercial este oferit de mai multe companii.
Cadrul este compatibil cu Python 2.7 și Python 3.6 sau mai sus, pe majoritatea platformelor.
Echipa responsabilă de dezvoltarea cadrului îi conferă mai multe caracteristici:
Site-ul web al proiectului oferă un tutorial detaliat despre utilizarea Scrapy. Acest curs oferă mai multe exemple, precum cel opus, extragând anumite linkuri prezente pe mai multe pagini 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