[問題]scrapy pipelines 無法寫入CSV檔

作者: allen511081 (藍)   2015-01-07 17:00:47
繼上次發問pipelines的問題後,已經自行解決keyerror的問題,
這次是無法寫入CSV檔,明明執行的時候都沒出現錯誤訊息,但就是寫不進去
CSV檔,附上程式碼
pipelines.py
import csv
from myproject.items import BirdTitle,BirdName,BirdCount
class myPipeline(object):
def __init__(self):
self.myCSV = csv.writer(open('birds.csv','wb'))
self.myCSV.writerow(['title','birdname','count'])
def process_item(self, item,spider):
titles=[]
names=[]
counts=[]
for title in item:
if isinstance(item, BirdTitle):
for title in item['title']:
titles.append(title)
return titles
for name in item:
if isinstance(item, BirdName):
for name in item['birdName']:
names.append(name)
return names
for count in item:
if isinstance(item,BirdCount):
for count in item['count']:
counts.append(count)
return counts
for a, b,c in zip(titles,names,counts):
self.myCSV.writerow([a, b,c])
return item
請問我該如何解決?
作者: alibuda174 (阿哩不達)   2015-01-07 17:33:00
process_item的作用是? 為何那麼多個returnitem給個例子吧
作者: allen511081 (藍)   2015-01-07 20:56:00
process_item 是在處理蜘蛛爬來的資料return是返回list,總共有三個listitem[titleA,titleB,nameA,nameB,countA,countB]把item處理成三個list後,就是titles,names,counts
作者: alibuda174 (阿哩不達)   2015-01-07 23:30:00
return titles 那process_item不就結束了...
作者: ug945 (ug945)   2015-01-07 23:59:00
只要 在最後return item就好了 其他的都不用
作者: allen511081 (藍)   2015-01-08 09:57:00
已經處理掉3個return了,CMD畫面有抓到東西,但是最後就是存不進去CSV檔裡面,檔案裡就只有headerline

Links booklink

Contact Us: admin [ a t ] ucptt.com