1010
1111import requests
1212from requests .adapters import HTTPAdapter
13+ from requests .cookies import RequestsCookieJar
1314from requests .packages .urllib3 .exceptions import InsecureRequestWarning
1415
1516import feapder .setting as setting
1617import feapder .utils .tools as tools
1718from feapder .db .redisdb import RedisDB
1819from feapder .network import user_agent
19- from feapder .network .proxy_pool import proxy_pool
20+ from feapder .network .proxy_pool import ProxyPool
2021from feapder .network .response import Response
2122from feapder .utils .log import log
2223from feapder .utils .webdriver import WebDriverPool
23- from requests .cookies import RequestsCookieJar
2424
2525# 屏蔽warning信息
2626requests .packages .urllib3 .disable_warnings (InsecureRequestWarning )
@@ -30,7 +30,7 @@ class Request(object):
3030 session = None
3131 webdriver_pool : WebDriverPool = None
3232 user_agent_pool = user_agent
33- proxies_pool = proxy_pool
33+ proxies_pool : ProxyPool = None
3434
3535 cache_db = None # redis / pika
3636 cached_redis_key = None # 缓存response的文件文件夹 response_cached:cached_redis_key:md5
@@ -196,6 +196,13 @@ def _webdriver_pool(self):
196196
197197 return self .__class__ .webdriver_pool
198198
199+ @property
200+ def _proxies_pool (self ):
201+ if not self .__class__ .proxies_pool :
202+ self .__class__ .proxies_pool = ProxyPool ()
203+
204+ return self .__class__ .proxies_pool
205+
199206 @property
200207 def to_dict (self ):
201208 request_dict = {}
@@ -279,9 +286,9 @@ def get_response(self, save_cached=False):
279286
280287 # 代理
281288 proxies = self .requests_kwargs .get ("proxies" , - 1 )
282- if proxies == - 1 and setting .PROXY_ENABLE and self . __class__ . proxies_pool :
289+ if proxies == - 1 and setting .PROXY_ENABLE and setting . PROXY_EXTRACT_API :
283290 while True :
284- proxies = self .__class__ . proxies_pool .get ()
291+ proxies = self ._proxies_pool .get ()
285292 if proxies :
286293 self .requests_kwargs .update (proxies = proxies )
287294 break
0 commit comments