增量爬虫
1.什么是增量爬虫
增量爬虫:增量就是使爬虫获取到的数据以增量的形式稳定增长
2.增量爬虫的实现方案
1、爬虫结束----数据在保存到数据库前,查看数据是否重复,或者用update方法来做更新操作。
以数据存储mongodb为例
import pymongo
import hashlib
### 实现md5加密
def get_md5(value):
md5 = hashlib.md5()
md5.update(value.encode())
return md5.hexdigest()
## 与数据库建立连接
client = pymongo.MongoClient(host='localhost',port='27017')
## 连接的数据库
db = client['demo']
## 将url进行加密
hash_url = get_md5(url)
item['hash_url'] = hash_url
## 如果数据库里有不做就更新,没有就插入
db['bar'].update({'hash_url':'item["hash_url"]'},{'$set':item},True)
2、爬虫开始----在爬取数据前,查看这个url是否被爬取过。–查看url是否重复(利用redis去重)
### 爬虫开始前,检验url有没有被爬取过
### 重复返回True
def request_seen(url):
hash_url = get_md5(url)
red = redis.Redis(host='localhost',port=