【问题标题】:How to avoid storing duplicate results如何避免存储重复的结果
【发布时间】:2019-03-25 23:18:01
【问题描述】:

我将抓取的内容存储在 csv 文件中。 每行包含一个唯一的 ID 和一个项目的描述。

我的 ID 来自我抓取内容的网站,而不是在抓取工具端生成的。

我使用 Scrapy 的 feedExporter 生成 csv 文件

当我再次抓取我的网站时,我希望我的脚本检查唯一 ID 是否已存储在 csv 文件中,如果不是,我会添加新行,如果是,我会继续下一项。

我认为这是与抓取框架有关的经典事情,我相信必须有一种聪明的方法来使用 Scrapy 来完成它,但是我在 Scrapy 的文档中找不到有关此主题的任何内容

我应该简单地打开 csv 文件,遍历每个项目,如果迭代器的值不存在,则添加新行或跳过?

【问题讨论】:

标签: scrapy


【解决方案1】:

一种解决方案可能是创建一个空的 HashMap。然后在第一次扫描时,将您的项目放入 HashMap 中。 HashMap 不保存重复值。因此,在您的第二次扫描中,根据这一点,查找密钥,如果密钥存在,则查找下一个。如果不存在,请添加它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-08
    • 1970-01-01
    • 2012-06-29
    • 2019-08-20
    • 2018-08-20
    相关资源
    最近更新 更多