пытаюсь отсканировать несколько строк из файла CSV с помощью CSVFeedSpider
Структура файла следующая:
id | категория | цена
Мне нужно сканировать строки, в которых есть только специальная категория «оплачено»
Я делаю следующее:
class Outillage_spider(CSVFeedSpider):
name = 'domain.com'
allowed_domains = ['domain.com', 'www.domain.com']
start_urls = ('http://www.domain.com/file.csv',)
delimiter = ';'
headers = ['name', 'category', 'price']
def parse_row(self, response, row):
categories = ['Bosch','Dolmar','Fein','Hitachi','Karcher','Leman','Makita','SDMO','Ski']
if row['category'] in categories:
res = {}
res['name'] = row['name']
res['price'] = row['price']
return load_product(res, response)
else:
return None
И следующее, что я получил:
File "/home/rolikoff/web/scrapy_projects/local/lib/python2.7/site-packages/Scrapy-0.14.1-py2.7.egg/scrapy/contrib/spiders/feed.py", line 129, in parse_rows
raise TypeError('You cannot return an "%s" object from a spider' % type(ret).__name__)
exceptions.TypeError: You cannot return an "NoneType" object from a spider
Я думаю, что это происходит, когда parse_row () возвращает None. Но я не уверен, как изменить фуктион. У вас есть идеи?
Спасибо
Дмитрий