ramsayleung / jd_spider

Two dumb distributed crawlers

Home Page:https://ramsayleung.github.io/zh/post/2017/jd_spider/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

没有验证重复的商品?

ajoeee opened this issue · comments

因为爬虫的去重是scrapy-redis实现的,我并没有重写去重规则,而scrapy-redis 是根据 Requestfingerprint来作去重的判断依据的,所以可能相同的商品(即相同的url),但是Request对象不相同,就没有去掉.所以可能会出现重复的商品

其实最最开始的时候,也是有验证重复商品的,只是我是通过Mongodb 的唯一索引来去重的.插入是遇到重复的商品就抛出异常,然后把异常吃掉.这种去重方式很不优雅,现在我已经重写了商品的去重逻辑,通过Redis 保存商品的sku-id, 插入Mongodb 前验证一下Redis 是否已经有这个商品的sku-id, 有则不插入,反之亦然.