簡體   English   中英

我如何最好地存儲每天收集的Web爬網數據以查找更改

[英]How do i best store web crawled data collected daily to look for changes

我每天都在爬一個網站,以確定庫存中哪些產品有變化。

如何最好地存儲此數據以便在以前的日期之間進行比較?

數據如下所示:

{'name': productname, 'url': "URL to product", "status": "In stock or not", "variants": ['3', '7', '9']}

大約有1000個產品。

我需要每天存儲一次所有這些數據,因此我可以將其檢索並與以前的日期進行比較,以記錄產品是否缺貨/缺貨。 我還需要查看變體是否已被刪除/添加。

我不知道該如何構造它。 我應該使用數據庫,幾個CSV文件,文本文件嗎?

有什么建議么?

這不是特別大量的數據,因此,除非您特別關注性能(您不是在嵌入式系統上運行python,是嗎?),所以pickle應該足以滿足此要求(並且最簡單)。

要查看是否有任何更改,您要做的就是保留上一次爬網中的數據,因此,您只需要存儲1000種產品。 當您檢測到更改時,如果計划進行許多爬網或使系統長時間運行,則可以將其記錄到文件或數據庫中。

請注意,這種方法只會保存您選擇的變量的更改。 如果以后決定要其他變量的變更日志,則將無法計算該變量。

另外,如果status值只能采用兩個值,則可能值得將status值轉換為布爾值。

在這種情況下,我發現最好將數據存儲在文本文件中,以便您可以讀取文件以檢查數據並在必要時進行手動編輯。 將其存儲在數據庫中將是過大的。

您可以將其存儲在單個CSV文件中,並將名稱,URL,狀態和變體作為字段。 在每次運行期間,您可以讀取CSV文件,查找更改並更新文件。 在調試過程之前,您還可以保存文件的先前版本,以便可以實時查看更改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM