|
@@ -7,7 +7,6 @@ from proxypool.setting import *
|
|
|
class Getter():
|
|
class Getter():
|
|
|
def __init__(self):
|
|
def __init__(self):
|
|
|
self.redis = RedisClient()
|
|
self.redis = RedisClient()
|
|
|
- self.tester = Tester()
|
|
|
|
|
self.crawler = Crawler()
|
|
self.crawler = Crawler()
|
|
|
|
|
|
|
|
def is_over_threshold(self):
|
|
def is_over_threshold(self):
|
|
@@ -21,19 +20,10 @@ class Getter():
|
|
|
|
|
|
|
|
def run(self):
|
|
def run(self):
|
|
|
print('获取器开始执行')
|
|
print('获取器开始执行')
|
|
|
- proxy_count = 0
|
|
|
|
|
if not self.is_over_threshold():
|
|
if not self.is_over_threshold():
|
|
|
for callback_label in range(self.crawler.__CrawlFuncCount__):
|
|
for callback_label in range(self.crawler.__CrawlFuncCount__):
|
|
|
callback = self.crawler.__CrawlFunc__[callback_label]
|
|
callback = self.crawler.__CrawlFunc__[callback_label]
|
|
|
# 获取代理
|
|
# 获取代理
|
|
|
proxies = self.crawler.get_proxies(callback)
|
|
proxies = self.crawler.get_proxies(callback)
|
|
|
- # 设置代理并测试
|
|
|
|
|
- self.tester.set_proxies(proxies)
|
|
|
|
|
- self.tester.run()
|
|
|
|
|
- proxy_count += len(proxies)
|
|
|
|
|
- if self.is_over_threshold():
|
|
|
|
|
- print('代理池已满,暂停抓取')
|
|
|
|
|
- break
|
|
|
|
|
- if proxy_count == 0:
|
|
|
|
|
- # 代理池枯竭
|
|
|
|
|
- print('代理池已枯竭')
|
|
|
|
|
|
|
+ for proxy in proxies:
|
|
|
|
|
+ self.redis.add(proxy)
|