Exemple #1
0
 def insert(self, value):
     proxy = Proxy(ip=value['ip'], port=value['port'], types=value['types'], protocol=value['protocol'],
                   country=value['country'], area=value['area'],
                   speed=value['speed'], score=value.get('score', config.DEFAULT_SCORE))
     mapping = proxy.__dict__
     for k in list(mapping.keys()):
         if k.startswith('_'):
             mapping.pop(k)
     object_name = self.get_proxy_name(proxy=proxy)
     # 存结构
     insert_num = self.redis.hmset(object_name, mapping)
     # 创建索引
     if insert_num > 0:
         for index_name in self.index_names:
             self.create_index(index_name, object_name, proxy)
     return insert_num
Exemple #2
0
 def insert(self, value):
     proxy = Proxy(ip=value['ip'],
                   port=value['port'],
                   types=value['types'],
                   protocol=value['protocol'],
                   country=value['country'],
                   area=value['area'],
                   speed=value['speed'],
                   score=0)
     mapping = proxy.__dict__
     for k in list(mapping.keys()):
         if k.startswith('_'):
             mapping.pop(k)
     object_name = self.get_proxy_name(proxy=proxy)
     # 存结构
     self.redis.hmset(object_name, mapping)
     # 创建索引
     for name in self.index_names:
         index_key = self.get_index_name(name, value[name])
         self.redis.sadd(index_key, object_name)
Exemple #3
0
 def insert(self, value):
     proxy = Proxy(ip=value['ip'],
                   port=value['port'],
                   types=value['types'],
                   protocol=value['protocol'],
                   country=value['country'],
                   area=value['area'],
                   speed=value['speed'],
                   score=value.get('score', config.DEFAULT_SCORE))
     mapping = proxy.__dict__
     #mapping:{'port': 433, 'speed': 123, 'ip': 'localhost', 'area': '广州', '_sa_instance_state': <sqlalchemy.orm.state.InstanceState object at 0x7f43091b3dd8>,
     #       'country': '中国', 'types': 0, 'protocol': 1}
     for k in list(mapping.keys()):
         if k.startswith('_'):
             mapping.pop(k)
     object_name = self.get_proxy_name(proxy=proxy)
     # 存结构
     insert_num = self.redis.hmset(object_name, mapping)
     # 创建索引 #存入哈希类型到redis,索引为object_name ;Field,value 为mapping
     if insert_num > 0:
         for index_name in self.index_names:
             self.create_index(index_name, object_name, proxy)
     return insert_num
 def insert(self, value):
     proxy = Proxy(
         ip=value["ip"],
         port=value["port"],
         types=value["types"],
         protocol=value["protocol"],
         country=value["country"],
         area=value["area"],
         speed=value["speed"],
         score=value.get("score", config.DEFAULT_SCORE),
     )
     mapping = proxy.__dict__
     for k in list(mapping.keys()):
         if k.startswith("_"):
             mapping.pop(k)
     object_name = self.get_proxy_name(proxy=proxy)
     # 存结构
     insert_num = self.redis.hmset(object_name, mapping)
     # 创建索引
     if insert_num > 0:
         for index_name in self.index_names:
             self.create_index(index_name, object_name, proxy)
     return insert_num
Exemple #5
0
 def get_proxy_by_name(self, name):
     pd = self.redis.hgetall(name)
     if pd:
         return Proxy(
             **{k.decode('utf8'): v.decode('utf8')
                for k, v in pd.items()})