跳转至

配置参考

配置文件 setting.py 位于项目的主目录下,配置主要分为五类:服务配置数据库配置采集配置校验配置调度配置

服务配置

HOST

API 服务监听的 IP。本机访问设置为 127.0.0.1,开启远程访问设置为 0.0.0.0

  • 默认值:"0.0.0.0"

PORT

API 服务监听的端口。

  • 默认值:5010

数据库配置

DB_CONN

存放代理 IP 的数据库 URI,配置格式为:

db_type://[[user]:[pwd]]@ip:port/[db]

目前支持的 db_typeredisssdb

配置示例:

# Redis
DB_CONN = 'redis://@127.0.0.1:6379'
DB_CONN = 'redis://:123456@127.0.0.1:6379'
DB_CONN = 'redis://:123456@127.0.0.1:6379/15'

# SSDB
DB_CONN = 'ssdb://@127.0.0.1:8888'
DB_CONN = 'ssdb://:123456@127.0.0.1:8888'

TABLE_NAME

存放代理的数据载体名称。SSDB 和 Redis 的存放结构为 hash。

  • 默认值:"use_proxy"

采集配置

PROXY_FETCHER

启用的代理采集方法名列表。代理采集方法位于 fetcher/proxyFetcher.py 类中。

由于各个代理源的稳定性不容易掌握,当某个代理采集方法失效时,可以在该配置中注释掉其名称。如果有增加某些代理采集方法,也请在该配置中添加其方法名,具体请参考 扩展代理源

调度程序每次执行采集任务时都会再次加载该配置,保证每次运行的采集方法都是有效的。

PROXY_FETCHER = [
    "freeProxy01",
    "freeProxy02",
    # ....
]

校验配置

HTTP_URL

用于检验代理是否可用的地址。

  • 默认值:"http://httpbin.org"

HTTPS_URL

用于检验代理是否支持 HTTPS 的地址。

  • 默认值:"https://www.qq.com"

VERIFY_TIMEOUT

检验代理的超时时间,单位秒。使用代理访问 HTTP_URL / HTTPS_URL 耗时超过 VERIFY_TIMEOUT 时,视为代理不可用。

  • 默认值:10

MAX_FAIL_COUNT

检验代理允许的最大失败次数。超过则剔除代理。

  • 默认值:0(即失败一次即删除)

POOL_SIZE_MIN

代理检测定时任务运行前,若代理数量小于 POOL_SIZE_MIN,则先运行抓取程序。

  • 默认值:20

代理属性

PROXY_REGION

是否启用代理地域属性。开启后会尝试解析代理 IP 的地理位置信息。

  • 默认值:True

调度配置

TIMEZONE

调度器的时区设置。如果在虚拟机上运行时出现 ValueError: Timezone offset does not match system offset 错误,请设置该配置项。

  • 默认值:"Asia/Shanghai"