儲(chǔ)存數(shù)據(jù)最簡(jiǎn)單的方法是使用輸出Feed(輸出文件),命令行中使用以下的命令:
scarpy crawl quotes -o quotes.json
這將會(huì)生成包含所有爬取項(xiàng)目名為quotes.json文件,以JSON格式序列化。
由于歷史因素,Scrapy應(yīng)用于給定的文件而不是覆蓋它的內(nèi)容。如果你在沒(méi)有事先移除生成的JSON文件下運(yùn)行此命令兩次,你將會(huì)得到一個(gè)損壞的JSON文件。
你也可以使用其他的格式數(shù)據(jù),比如說(shuō)JSON Lines:
scrapy crawl quotes -o qutoes.jl
JSON Lines格式是方便易用的,就像是流(stream)一樣,你可以簡(jiǎn)單地在其中添加記錄數(shù)據(jù)。
當(dāng)你運(yùn)行上面命令兩次,它不會(huì)有JSON格式文件的問(wèn)題。同時(shí),每一個(gè)記錄的數(shù)據(jù)都是單獨(dú)一行,你無(wú)需在內(nèi)存中配置任何東西即可加載大型文件,在命令行中有像JQ一類(lèi)的工具協(xié)助操作。
在小型項(xiàng)目中(像本教程)已經(jīng)是足夠使用了。然而如果你想在爬取到的項(xiàng)目中開(kāi)展更復(fù)雜的東西,你可以寫(xiě)一個(gè)Item Pipeline。當(dāng)爬蟲(chóng)項(xiàng)目被創(chuàng)建時(shí),已經(jīng)生成了一個(gè)Item Pipeline文件在tutorial/pipelines.py中。雖然你不需要實(shí)現(xiàn)任何的item pipelines,你不是想儲(chǔ)存爬取的項(xiàng)目,但是文件還是被創(chuàng)建了。