如何最好地存储每日收集的网络爬网数据以查找更改

2024-05-15 12:34:50 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

数据如下:

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

大约有1000种产品。在

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

我不知道该如何组织这件事。我应该使用一个数据库,几个CSV文件,文本文件吗?在

有什么建议吗?在


Tags: orto数据nameinurl产品网站
2条回答

在这种情况下,我发现最好将数据存储在文本文件中,这样您就可以读取文件来检查数据,并在必要时手动编辑它。把它存储在数据库中会有点过火。在

您可以将其存储在一个CSV文件中,并将name、url、status和variants作为字段。在每次运行期间,您可以读取CSV文件,查找更改并更新文件。在调试进程之前,还可以保存文件的早期版本,以便在更改发生时查看更改。在

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

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

请注意,此方法只会保存所选变量的更改。如果您后来决定需要其他变量的变更日志,您将无法计算它。在

另外,如果status值只能接受两个值,那么将其转换为布尔值可能是值得的。在

相关问题 更多 >