scrapy 2.3 存儲(chǔ)抓取的數(shù)據(jù)

2021-05-29 15:54 更新

存儲(chǔ)抓取數(shù)據(jù)的最簡(jiǎn)單方法是使用 Feed exports ,使用以下命令::

scrapy crawl quotes -O quotes.json

這將生成一個(gè)``quotes.json``文件,其中包含所有已刪除的項(xiàng)目,在`JSON`_中序列化。

這個(gè) -O 命令行開關(guān)覆蓋任何現(xiàn)有文件;使用 -o 而是將新內(nèi)容附加到任何現(xiàn)有文件中。但是,附加到JSON文件會(huì)使文件內(nèi)容無效JSON。附加到文件時(shí),請(qǐng)考慮使用不同的序列化格式,例如 JSON Lines ::

scrapy crawl quotes -o quotes.jl

這個(gè) JSON Lines 格式很有用,因?yàn)樗愃朴诹?,您可以很容易地向它附加新記錄。?dāng)您運(yùn)行兩次時(shí),它不存在相同的JSON問題。另外,由于每個(gè)記錄都是單獨(dú)的一行,因此您可以處理大文件,而不必將所有內(nèi)容都放入內(nèi)存中,因此有如下工具: JQ 以幫助在命令行中執(zhí)行此操作。

在小項(xiàng)目中(如本教程中的項(xiàng)目),這就足夠了。但是,如果您想對(duì)爬取的項(xiàng)目執(zhí)行更復(fù)雜的操作,可以編寫一個(gè) Item Pipeline . 項(xiàng)目創(chuàng)建時(shí)已為您設(shè)置了項(xiàng)目管道的占位符文件,位于 ?tutorial/pipelines.py? . 但是,如果只想存儲(chǔ)爬取的項(xiàng)目,則不需要實(shí)現(xiàn)任何項(xiàng)目管道。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)