試圖使用CSVFeedSpider從CSV文件中抓取一些行 該文件的結構是下一個: ID |類別|價格 我需要抓取其中只有一個spefic類行「支付」 接下來我要做的:Scrapy CSV爬行
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( )返回無。但我不知道如何改變這個功能。你有什麼想法?
感謝 梅德
它不允許使用yueld \t文件「/home/rolikoff/web/scrapy_projects/local/lib/python2.7/site-packages/Scrapy-0.14.1-py2.7.egg/scrapy/contrib/spiders/feed.py」,第129行,在parse_rows \t引發TypeError('你不能從蜘蛛'%type(ret).__ name__返回一個「%s」對象) \t exceptions.TypeError:你不能從蜘蛛中返回一個「生成器」對象 – KennyPowers 2012-02-01 15:40:52
明白了!抱歉!閱讀我的編輯! – 2012-02-01 15:46:08
好吧,我已經找到了解決方案 更換 回報無 與 ()返回 還是要謝謝你! – KennyPowers 2012-02-01 15:46:47