我每天都在抓取一个网站,以确定哪些产品有库存变化。
如何最好地存储此数据以便在之前的日期之间进行比较?
数据如下所示:
{'name': productname, 'url': "URL to product", "status": "In stock or not", "variants": ['3', '7', '9']}
大约有1000种产品。
我需要每天存储一次所有这些数据,因此我可以检索它并与之前的日期进行比较,以便注意产品是否已经存货/库存。我还需要查看是否已删除/添加变体。
关于如何构建这个问题我很遗憾。我应该使用数据库,几个CSV文件,文本文件吗?
有什么建议吗?
答案 0 :(得分:1)
这不是特别多的数据,所以pickle
应该足够(最简单),除非你特别关注性能(你没有在嵌入式系统上运行python,你呢?)。
要查看是否有任何更改,您需要做的就是保留上次抓取的数据,因此您只需要存储1000个产品。当您检测到更改时,如果您计划执行多次爬网,则可以将其记录到文件或数据库中,或者让系统继续运行长时间。
请注意,此方法仅保存所选变量的更改。如果您以后决定要其他变量的更改日志,则无法计算它。
此外,将status
值转换为布尔值可能是值得的,如果它只能取两个值。
答案 1 :(得分:0)
在这种情况下,我发现最好将数据存储在文本文件中,以便您可以读取文件以检查数据并在必要时手动编辑。将它存储在数据库中会有点过分。
您可以将其存储在一个CSV文件中,其中包含名称,网址,状态和变体作为字段。在每次运行期间,您都可以阅读CSV文件,查找更改并更新文件。在调试过程之前,您还可以保存文件的先前版本,以便在发生更改时查看更改。