配置详解
Proxy Pool 的所有配置都在根目录的 setting.py 文件中进行管理。本页将详细解释每个配置项的作用、可选值和默认值。
服务配置 (Server Config)
这部分配置用于设置 API 服务。
-
HOST:- 作用: 指定 API 服务监听的 IP 地址。
- 默认值:
"0.0.0.0" - 说明:
0.0.0.0表示服务将监听本机的所有网络接口,允许来自局域网或公网的访问。如果只想本机访问,可以设置为"127.0.0.1"。
-
PORT:- 作用: 指定 API 服务监听的端口。
- 默认值:
5010 - 说明: 确保该端口未被其他程序占用。
数据库配置 (Database Config)
配置代理池所使用的数据库。
-
DB_CONN:- 作用: 数据库连接字符串 (URI)。
- 默认值:
'redis://:[email protected]:6379/0' - 格式:
- Redis:
redis://:password@host:port/db - SSDB:
ssdb://:password@host:port
- Redis:
- 说明: 这是项目最关键的配置之一。请根据你的数据库信息正确填写。如果 Redis 没有密码,可以省略密码部分,例如:
redis://@127.0.0.1:6379/0。
-
TABLE_NAME:- 作用: 在数据库中存储代理所使用的数据结构名称(对于 Redis 来说是 Hash 的键名)。
- 默认值:
'use_proxy'
代理抓取器配置 (Proxy Fetcher Config)
配置要启用的代理来源。
PROXY_FETCHER:- 作用: 一个列表,包含了所有要启用的代理抓取器的名称。
- 默认值:
python [ "freeProxy01", "freeProxy02", "freeProxy03", "freeProxy04", "freeProxy05", "freeProxy06", "freeProxy07", "freeProxy08", "freeProxy09", "freeProxy10", "freeProxy11" ] - 说明: 列表中的每个字符串都对应
fetcher/proxyFetcher.py文件中的一个抓取方法。你可以按需增删,或者添加自定义的抓取器。
代理校验器配置 (Proxy Validator Config)
配置代理校验相关的参数。
-
HTTP_URL:- 作用: 校验代理是否支持 HTTP 时请求的目标网站。
- 默认值:
"http://httpbin.org" - 说明: 建议选择一个稳定且能快速响应的网站。
-
HTTPS_URL:- 作用: 校验代理是否支持 HTTPS 时请求的目标网站。
- 默认值:
"https://www.qq.com"
-
VERIFY_TIMEOUT:- 作用: 校验代理时的网络请求超时时间(单位:秒)。
- 默认值:
10
-
MAX_FAIL_COUNT:- 作用: 允许代理连续校验失败的最大次数。当一个代理的累计失败次数超过该值时,它将被从代理池中移除。
- 默认值:
0(在 2.4.0 版本中,这意味着一次失败就可能被标记为待移除, 但具体行为取决于校验逻辑)
-
POOL_SIZE_MIN:- 作用: 代理池的最小容量阈值。当可用代理数量低于此值时,调度器会立即触发新一轮的代理抓取任务。
- 默认值:
20
代理属性配置 (Proxy Attributes Config)
PROXY_REGION:- 作用: 是否启用代理的地理位置归属地分析。
- 默认值:
True - 说明: 开启后,系统会尝试识别每个代理的地理位置(国家/城市),但这会消耗额外的系统资源。如果不需要此功能,可以设置为
False。
调度器配置 (Scheduler Config)
TIMEZONE:- 作用: 强制为调度器设置时区。
- 默认值:
"Asia/Shanghai" - 说明: 通常情况下,调度器会自动检测系统时区。但是,如果在虚拟机或容器环境中遇到时区错误 (例如
ValueError: Timezone offset does not match system offset),你可以通过取消注释并设置此项来解决。