[問題]scrapy寫好pipelines執行,卻出現KeyError

作者: allen511081 (藍)   2015-01-04 00:02:55
各位好,小弟之前發問的問題,經過各位大大前輩的指點,
已經解決了,但是小弟今天又遇到一個小問題,寫完pipelines後,
一執行,就會出現KeyError,參考
http://www.hackhowtofaq.com/blog/web-scraping-with-scrapy/,
寫出我的pipelines,以下是我的程式碼
pipelines.py:
import csv
class testPipeline(object):
def__init__(self):
self.myCSV = csv.writer(open('birds.csv', 'wb'))
self.myCSV.writerow(['title', 'birdName','count'])
def process_item(self, item,spider):
self.myCSV.writerow([item['title'].encode('utf-8'),
item['birdName'].encode('utf-8'),
item['count'].encode('utf-8')])
return item
一直出現這兩個錯誤
1. File "D:\python27\allentest\allentest\pipelines.py", line 17, in
process_item
self.myCSV.writerow([item['title'].encode('utf-8'),
exceptions.AttributeError: 'list' object has no attribute 'encode'
2. File "D:\python27\lib\site-packages\scrapy\item.py", line 50, in __getitem__
return self._values[key]
exceptions.KeyError: 'title'
可是我參照範例寫出來的,請問我該怎樣修改?
作者: jimmytzeng (jimmytseng)   2015-01-04 08:03:00
把encode('utf-8')去掉看看
作者: allen511081 (藍)   2015-01-04 08:31:00
回樓上大大,encode刪除後,還是會出現KeyError而且title、birdName、count,都會出現keyError
作者: AndCycle (AndCycle)   2015-01-04 13:00:00
KeyError就是沒那個key, 你該先查為什麼你傳的item沒有
作者: allen511081 (藍)   2015-01-06 10:10:00
給樓上大大,小弟本人還是新手,還望大大指導一下

Links booklink

Contact Us: admin [ a t ] ucptt.com