定义一个redis_util类
from scrapy.utils.project import get_project_settings import redis class RedisUtil: r = {} def __init__(self): self.settings = get_project_settings() host = self.settings.get('REDIS_HOST') port = self.settings.get('REDIS_PORT') user = self.settings.get('REDIS_USER') password = self.settings.get('REDIS_PASSWORD') if len(RedisUtil.r.keys()) < 1: RedisUtil.r = redis.Redis(host=host, port=port, username=user, password=password, single_connection_client=True, decode_responses=True)
调用方法:
redis = RedisUtil() if redis.r.get('proxy_host') == None: #获取代理地址 try: proxy_host = get_proxy().get('ip') proxy_port = get_proxy().get('port') # 存入redis redis.r.set('proxy_host', proxy_host) redis.r.set('proxy_port', proxy_port) except Exception as e: raise e