12345678910111213141516171819202122232425262728293031 |
- from crawler.bloom_filter.RedisBloomFilter import RedisFilter
- from settings import FILTER_WORDS
- class Validator:
- def __init__(self, redis_key='Validator_'):
- self._validator_name = redis_key
- self._rbf = RedisFilter(redis_key=self._validator_name)
- self._rbf.start(1000000000, 0.00001)
- @staticmethod
- def _filter_words(val: str):
- """过滤词"""
- for word in FILTER_WORDS:
- if val.find(word) != -1:
- return True
- return False
- def add_data(self, val: str):
- return self._rbf.add(val)
- def data(self, val: str):
- return self._rbf.is_exists(val)
- def words(self, val: str):
- return self._filter_words(val)
- @property
- def length(self):
- return len(self._rbf)
|