Scrapy originally used a twisted plug-in mechanism for managing spiders, and this requires an instance. This has been changed in favor of class checking for something that extends BaseSpider and has a name. You will still see instances created in the old code, although it is no longer required in any latest version of scrapy.
source share