def get_leancloud_proxies(self): """ 返回不可用的或者正在使用的代理 """ query = Query(ProxyNode) query.select('proxy') query.contained_in('state', [1, 2, 3]) try: unavailables = query.find() except LeanCloudError as e: logger.error(e) raise CloseSpider('leancloud cannot reach') # TODO: list to dict # key in dict/list unavailables_list = [] for i in unavailables: unavailables_list.append(i.get('proxy')) unavailables_set = set(unavailables_list) return unavailables_set