跳转至

配置详解

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://@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),你可以通过取消注释并设置此项来解决。