2

我每天都在爬取一个网站,以确定库存产品的变化。

我如何最好地存储这些数据以便在以前的日期之间进行比较?

数据如下所示:

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

大约有1000种产品。

我需要每天存储一次所有这些数据,这样我就可以检索它并与以前的日期进行比较,以记录产品是否缺货/缺货。我还需要查看是否已删除/添加了变体。

我不知道应该如何构建它。我应该使用数据库、几个 CSV 文件、文本文件吗?

有什么建议么?

4

2 回答 2

1

这不是一个特别大的数据量,所以pickle应该足够了(而且最简单),除非你特别关心性能(你不是在嵌入式系统上运行 python,是吗?)。

要查看是否有任何更改,您需要做的就是保留之前抓取的数据,因此您只需要存储 1000 个产品。当您检测到更改时,您可以将其记录到文件中,例如,如果您计划进行多次爬网或让系统长时间运行,则可以将其记录到数据库中。

请注意,这种方法只会保存您选择的变量的更改。如果您后来决定想要某个其他变量的变更日志,您将无法计算它。

status此外,如果它只能采用两个值,则将值转换为布尔值可能是值得的。

于 2013-01-13T02:23:44.910 回答
0

在这种情况下,我发现最好将数据存储在文本文件中,以便您可以读取文件以检查数据并在必要时手动编辑。将其存储在数据库中将是矫枉过正。

您可以将其存储在单个 CSV 文件中,其中包含名称、url、状态和变体作为字段。在每次运行期间,您都可以读取 CSV 文件、查找更改并更新文件。在调试过程之前,您还可以保存文件的先前版本,以便在发生更改时查看更改。

于 2013-01-13T08:43:45.437 回答