Scrapy, Python ile hazırlanmış ücretsiz ve açık kaynaklı bir web tarama (web scraping, web crawler) framework'ü. Web Crawling ise API'si olmayan platformlardan haricen ziyaretler yaparak veri toplamak olarak tanımlanabilir. Bu işlemi periyodik olarak gerçekleştiren, girdiği içerikleri hafızasında tutan ve değişiklikleri yakalayan framework'ler ise bu konuda daha çok tercih ediliyorlar. Scrapy, web crawling konusunda bugün en yaygın olarak tercih edilen framework'lerden birisi ancak alternatifleri olan urllib2, lxml, Selenium ve beautifulsoup gibi framework'lere de göz atabilirsiniz.
Scrapy, Django'ya benzer bir framework ve Python 2 ile Python 3 desteği sunuyor. Scrapy ile birlikte Mongodb, MySql, Firebase gibi veri tabanlarını kullanarak kendi web geçmişi takip uygulamanızı yazabilir ya da örneğin çeşitli ürünlerin farklı internet sitelerindeki fiyat değişimlerini takip eden bot'lar yazabilirsiniz.
Scrapy kullanabilmek için iyi derecede XPath bilmenizin de büyük faydası olacaktır. Ancak XPath bilmiyorsanız da response.css('') komutu ile css seçicilerini kullanarak da çekmek istediğiniz verileri seçebilirsiniz.
Scrapy bileşenleri şu şekilde düşünülebilir:
- Engine (tüm koordinasyondan sorumlu ana program)
- Örümcekler (tarayıcı geziciler - Spiders)
- Pipelines
- Ara yazılımlar
- Planlayıcılar