requests爬虫改为增量爬虫的一种方法

在爬虫编写中,为了避免重复爬取同一个网页,一般会使用增量爬虫,这样就避免了重复爬取相同的一个网页,只爬取新的网页数据。scrapy-redis做分布式的时候使用的是布隆过滤器来做的增量爬虫,本人平时一般小的爬虫就没有使用框架,直接用的requests写的,requests结合MongoDB数据库做的增量爬虫,如果网站不需要登录的话,就可以先把详情页的url和解析详情页分开来做,把爬取到的url保留一个字段,比如status,爬取到的没有解析的就标记为0,(MongoDB数据库中可以设置唯一索引,避免保存相同的url),这样在写解析详情页的时候用这个来获取(MongoDB数据库)

item = self.coll_url.find_and_modify({'status': 0}, {'$set': {'status': 1}})

【requests爬虫改为增量爬虫的一种方法】这样就可以保证获取到的不是相同的url。

    推荐阅读