在爬一些网页时,由于翻页后可能会有前一页的部分数据因点击或成交等因素又被排到了当前页,这样会造成数据的重复,删除数据可以用驱动写个小程序解决(比如python用pymongo)。最简单有效的方式还是用mongo命令解决:
db.collection(目标文档).aggregate([
{
$group:{_id:{url:'$url'(筛选条件,可以用多个字段)},count:{$sum:1},dups:{$addToSet:'$_id'}}
},
{
$match:{count: {$gt:1}}
}
]).forEach(function(it){
it.dups.shift(); /* dups是重复数组,shift()删除重复数组dubps里的的第一条数据,防止全部删除
db.wwz.remove({_id: {$in: it.dups}});
})
网友评论