You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
595 B
21 lines
595 B
class proxy_iter:
|
|
def __init__(self,proxies):
|
|
self._proxies = set(proxies)
|
|
self.proxies = self._proxies.copy()
|
|
self.bad_proxies = set()
|
|
# self.used_proxies = {}
|
|
|
|
def __next__(self):
|
|
self.proxies -= self.bad_proxies
|
|
if len(self.proxies) == 0:
|
|
raise StopIteration
|
|
|
|
elem = self.proxies.pop()
|
|
if len(self.proxies) == 0:
|
|
self.proxies = self._proxies.copy()
|
|
return elem
|
|
|
|
def __iter__(self):
|
|
return self
|
|
def blacklist(self,proxy):
|
|
self.bad_proxies.add(proxy)
|