Skip to content

fix: 稳定 DeepSentimentCrawling 的 PostgreSQL 集成链路#624

Open
starCarlos wants to merge 1 commit into666ghj:mainfrom
starCarlos:fix/deep-crawling-postgres-compat
Open

fix: 稳定 DeepSentimentCrawling 的 PostgreSQL 集成链路#624
starCarlos wants to merge 1 commit into666ghj:mainfrom
starCarlos:fix/deep-crawling-postgres-compat

Conversation

@starCarlos
Copy link
Copy Markdown

fix: 稳定 DeepSentimentCrawling 的 PostgreSQL 集成链路

描述

变更概述

这个 PR 修复并增强了 DeepSentimentCrawling 与 MediaCrawler 在 PostgreSQL 场景下的集成稳定性。

问题背景

1. platform_crawler.py 生成配置时会截断内容

create_base_config() 在处理 CRAWLER_TYPE 的多行写法时,会错误地截断后续配置,导致后面的配置项丢失,例如:

  • ENABLE_GET_COMMENTS
  • CRAWLER_MAX_COMMENTS_COUNT_SINGLENOTES
  • HEADLESS
  • 其他后续配置项

2. PostgreSQL 保存选项命名不一致

集成层之前使用的是 postgresql,但 MediaCrawler 实际兼容的是 postgres,导致保存参数对不上。

3. 某些版本的 MediaCrawler 缺少必要配置项

集成层没有保证以下字段一定存在:

  • ENABLE_GET_COMMENTS
  • ENABLE_GET_SUB_COMMENTS
  • CRAWLER_MAX_COMMENTS_COUNT_SINGLENOTES
  • START_DAY
  • END_DAY

本次修改内容

  • 将保存选项统一改为 postgres
  • 修复 create_base_config(),避免在重写配置时截断后续内容
  • 在缺失时自动补充必要的 fallback 配置项
  • 集成流程中默认保留可见浏览器,方便二维码登录和调试
  • 更新 MediaCrawler 子模块指针,纳入 Zhihu / Douyin 的 PostgreSQL 入库兼容修复

修改文件

  • MindSpider/DeepSentimentCrawling/platform_crawler.py
  • MindSpider/DeepSentimentCrawling/MediaCrawler(submodule 指针更新)

验证情况

本地集成验证结果如下:

  • BroadTopicExtraction:正常
  • xhs 抓取 + 入库:正常
  • zhihu 抓取 + 入库:正常
  • bili 抓取 + 入库:正常
  • dy 内容入库:正常

说明

这个 PR 不包含本地日志、测试数据目录和临时实验文件。

@dosubot dosubot bot added size:M This PR changes 30-99 lines, ignoring generated files. improvement New feature or request labels Mar 11, 2026
@starCarlos starCarlos force-pushed the fix/deep-crawling-postgres-compat branch from 0250461 to 0ae44ce Compare March 11, 2026 11:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement New feature or request size:M This PR changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants