scrapy-redis的安装要求是scrapy版本高于0.14,随着scrapy关注度的提高,其开发更新速度也越来越快。到现在,其版本已经是于14年7月8号发布的0.24.2。版本升级过程中,对一些类进行了重命名,也有一些变量的类型发生的变化。
现指出在使用scrapy-redis中发现的与scrapy不兼容情况(注意:这里所述的“不兼容”指的并不是不能运行,由于scrapy已经对相应情况进行了处理,所以在非严重情况下只会爆出warnning)。
其中1/2属于rename,而5则是直接废弃掉。
/home/jerry/open_source_project/others_project/scrapy-redis/example-project/example/items.py:21: ScrapyDeprecationWarning: example.items.ExampleLoader inherits from deprecated class scrapy.contrib.loader.XPathItemLoader, please inherit from scrapy.contrib.loader.ItemLoader. (warning only on first subclass, there may be others) class ExampleLoader(XPathItemLoader):
/usr/local/lib/python2.7/dist-packages/scrapy_redis/spiders.py:40: ScrapyDeprecationWarning: scrapy_redis.spiders.RedisSpider inherits from deprecated class scrapy.spider.BaseSpider, please inherit from scrapy.spider.Spider. (warning only on first subclass, there may be others) class RedisSpider(RedisMixin, BaseSpider):
ScrapyDeprecationWarning: ITEM_PIPELINES defined as a list or a set is deprecated, switch to a dict category=ScrapyDeprecationWarning, stacklevel=1)
ITEM_PIPELINES现在的数据结构是dict,之前的set和list已经不用了。
这个不属于rename,连相应的接口函数也改变了,如HtmlXpathSeletor.select()变为了功能一致的Selector.xpath()。
原创,文章链接:http://blog.csdn.net/u012150179/article/details/38087661