3 回答

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊
使用管道,您將能夠?qū)⑺许?xiàng)目累積到類似結(jié)構(gòu)的數(shù)組中(process_item
在您的管道中):
self.items.append(item) # I use self.items class variable defined at your pipeline
并在spider_closed
.

TA貢獻(xiàn)1934條經(jīng)驗(yàn) 獲得超2個(gè)贊
通常有兩種方法可以做到這一點(diǎn)。
首先,您可以使用命令將輸出簡(jiǎn)單地保存在 JSON 文件中scrapy crawl my_spider -o my_data.json
。其次,您可以編寫一個(gè)管道并將輸出存儲(chǔ)在任何數(shù)據(jù)庫(kù)中以形成您想要的結(jié)構(gòu)。

TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊
我不確定您所說的獲取物品是什么意思。如果你想將它們導(dǎo)出到一個(gè)文件中,你可以使用feed export,通過像這樣執(zhí)行蜘蛛:
scrapy?crawl?my_spider?-o?my_data.csv
它支持其他擴(kuò)展,檢查那些鏈接。
從你的標(biāo)題看來你想要處理產(chǎn)生的項(xiàng)目,在這種情況下你需要一個(gè)ItemPipeline。從文檔:
在一個(gè)項(xiàng)目被蜘蛛抓取后,它被發(fā)送到項(xiàng)目管道,它通過幾個(gè)順序執(zhí)行的組件來處理它。
...
項(xiàng)目管道的典型用途是:
清理 HTML 數(shù)據(jù)
驗(yàn)證抓取的數(shù)據(jù)(檢查項(xiàng)目是否包含某些字段)
檢查重復(fù)項(xiàng)(并刪除它們)
將抓取的項(xiàng)目存儲(chǔ)在數(shù)據(jù)庫(kù)中
parse
這兩種方法的運(yùn)行都與方法被調(diào)用的次數(shù)無關(guān)。
添加回答
舉報(bào)