Skip to content

Commit 239d3dc

Browse files
committed
解析custom setting 代理不生效问题
1 parent 88b3e99 commit 239d3dc

2 files changed

Lines changed: 12 additions & 18 deletions

File tree

feapder/network/proxy_pool.py

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,6 @@ def get_proxies_by_id(proxy_id):
3636
return proxies
3737

3838

39-
# 代理类型定义
40-
class LimitProxy(object):
41-
"""提取次数有限制的代理"""
42-
43-
pass
44-
45-
4639
def get_proxy_from_url(**kwargs):
4740
"""
4841
获取指定url的代理
@@ -710,9 +703,3 @@ def all(self) -> list:
710703
:return:
711704
"""
712705
return get_proxy_from_url(**self.kwargs)
713-
714-
715-
if not setting.PROXY_ENABLE or not setting.PROXY_EXTRACT_API:
716-
proxy_pool = None
717-
else:
718-
proxy_pool = ProxyPool()

feapder/network/request.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,17 @@
1010

1111
import requests
1212
from requests.adapters import HTTPAdapter
13+
from requests.cookies import RequestsCookieJar
1314
from requests.packages.urllib3.exceptions import InsecureRequestWarning
1415

1516
import feapder.setting as setting
1617
import feapder.utils.tools as tools
1718
from feapder.db.redisdb import RedisDB
1819
from feapder.network import user_agent
19-
from feapder.network.proxy_pool import proxy_pool
20+
from feapder.network.proxy_pool import ProxyPool
2021
from feapder.network.response import Response
2122
from feapder.utils.log import log
2223
from feapder.utils.webdriver import WebDriverPool
23-
from requests.cookies import RequestsCookieJar
2424

2525
# 屏蔽warning信息
2626
requests.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

Comments
 (0)