예제 #1
0
 def add(self, proxy: Proxy, score=PROXY_SCORE_INIT) -> int or None:
     """
     add proxy and set it to init score
     :param proxy: proxy, ip:port, like 8.8.8.8:88
     :param score: int score
     :return: result
     """
     if not is_valid_proxy(str(proxy)):
         logger.info(f'invalid proxy {proxy}, throw it')
         return
     if not self.exists(proxy):
         return self.db.zadd(REDIS_KEY, {str(proxy): score})
예제 #2
0
 def add(self, proxy: Proxy, score=PROXY_SCORE_INIT) -> int:
     """
     add proxy and set it to init score
     :param proxy: proxy, ip:port, like 8.8.8.8:88
     :param score: int score
     :return: result
     """
     if not is_valid_proxy(f'{proxy.host}:{proxy.port}'):
         logger.info(f'invalid proxy {proxy}, throw it')
         return
     if not self.exists(proxy):
         if IS_REDIS_VERSION_2:
             return self.db.zadd(REDIS_KEY, score, proxy)
         return self.db.zadd(REDIS_KEY, {proxy: score})
예제 #3
0
파일: redis.py 프로젝트: lajos182/ProxyPool
 def add(self, proxy: Proxy, score=PROXY_SCORE_INIT):
     """
     添加代理,设置分数为最高
     :param proxy: 代理
     :param score: 分数
     :return: 添加结果
     """
     if not is_valid_proxy(f'{proxy.host}:{proxy.port}'):
         logger.info(f'invalid proxy {proxy}, throw it')
         return
     if not self.exists(proxy):
         if IS_REDIS_VERSION_2:
             return self.db.zadd(REDIS_KEY, score, proxy.string())
         return self.db.zadd(REDIS_KEY, {proxy.string(): score})
예제 #4
0
 def add(self, proxy: Proxy, score=PROXY_SCORE_INIT) -> int:
     '''
     将代理加到 redis 中,并设置初始分数
     :param proxy: 代理,格式 ip:port, 例如 8.8.8.8:888
     :param score: 代理初始化的分数
     :type score: int
     :return: 成功添加的数量
     '''
     if not is_valid_proxy(f'{proxy.host}:{proxy.port}'):
         logger.info(f'invalid proxy {proxy}, throw it')
         return
     # if not self.db.exists(proxy):
     # 将代理添加到有序集合中
     if IS_REDIS_VERSION_2:
         return self.db.zadd(REDIS_KEY, score, proxy.string())
     return self.db.zadd(REDIS_KEY, {proxy.string(): score})