Skip to content

配置文件

与标准的scrapy项目不同,项目的配置文件不是 settings.py,而是 config.yaml,并提供了基于环境变量的配置方式。

注意事项

  • 环境变量的优先级高于配置文件
  • 部分配置项未在文档中列举,意味着不建议修改

jobs.yaml

项目支持使用jobs.yaml配置文件来简化采集配置,一个job中可以包含多个spider,可以通过定制jobs.yaml文件来按批次采集数据。
项目本身并不支持使用Cron表达式自动进行定时采集,需要用户自行配置定时任务,使用K8S的用户将会自动创建CronJob

配置文件示例如下

cronjob:
  - name: daily_morning  #Job名称
    cron_expr: '0 8 * * 1-5'   # 非K8S部署下该参数不生效
    spiders:
      - name: "stock/basic/stock_basic"  # Spider名称
      - name: "stock/basic/stock_company"
  - name: daily_open
    cron_expr: '40 9 * * 1-5'
    spiders:
      - name: "stock/quotes/adj_factor"
      - name: "stock/special/.*"    # 支持使用正则表达式匹配(全文匹配)

config.yaml

Tushare相关

配置项 环境变量 类型 默认值 说明
tushare_url TUSHARE_URL str https://api.tushare.pro Tushare服务地址
tushare_point TUSHARE_POINT int 2000 Tushare服务积分
tushare_token TUSHARE_TOKEN str "" Tushare账号Token
tushare_max_concurrent_requests `` int 基于积分计算 基于积分自动计算最大每分钟并行请求数,如果指定则会跳过计算

任务相关

配置项 环境变量 类型 默认值 说明
batch_id `` str '' 批次ID,用于写数据库和发送通知,不填则自动生成
parallel_mode `` bool False 并行模式,并行模式下将会关闭自动依赖处理

数据库相关

数据库相关配置在 databases 下,目前支持的数据库有 clickhousedorismysql,每个数据库的配置项不同,具体请参考下表。

配置项 环境变量 类型 默认值 说明
db_type DB_TYPE str 数据库类型
host DB_HOST str 数据库地址
port DB_PORT int 数据库端口
user DB_USER str 数据库用户名
password DB_PASSWORD str 数据库密码
db_name DB_NAME str 数据库名称
template_params `` dict {} 模板参数

Reporters

reporters可选值

  • tushare_integration.reporters.FeishuWebHookReporter 飞书WebHook
配置项 环境变量 类型 默认值 说明
reporters list[str] [] Reporter清单
feishu_webhook FEISHU_WEBHOOK str "" 飞书WebHook地址

Scrapy配置

配置项 环境变量 类型 默认值 说明
bot_name str "tushare_integration" Scrapy Bot Name
concurrent_requests int 10 最大并发请求
concurrent_items int 100 Pipeline最大并行处理数
retry_enabled bool true 是否开启请求失败重试
retry_delay int 10 重试延迟时间(秒)
retry_times int 6 最大重试次数