Files
ArticleReplaceBatch/PROBLEM_SOLUTION.md
2026-03-25 15:17:18 +08:00

91 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 问题诊断与解决方案
## 问题描述
程序运行在处理文章的时候,没有运行到`process_link`函数,所有的好像都跳过了。
## 问题诊断过程
### 1. 初步分析
通过运行诊断脚本(`debug_process.py`),发现:
- Excel文件读取正常有13个链接
- 链接过滤逻辑正常
- 违禁词配置正常
- 最小文章长度设置为102字符
### 2. 日志分析
`article_replace.log`中可以看到:
- "总共13个链接" 重复多次(说明循环执行多次)
- "开始处理链接" 确实被调用了
- 但之后没有任何输出,说明函数提前返回了
### 3. 深入调查
通过测试发现真正的问题:
#### 问题1Selenium函数被注释
`get_web_content.py`中,所有的文章提取函数都调用了`get_webpage_source_selenium()`,但这个函数被注释掉了,导致程序无法获取动态网页内容。
#### 问题2网络请求配置问题
即使切换到requests`get_webpage_source`),也没有配置代理设置,导致网络连接失败。
#### 问题3网页结构问题
使用requests获取的HTML是动态加载的包含大量JavaScript代码实际内容需要通过浏览器渲染后才能获取。
## 解决方案
### 1. 修复Selenium函数
重新启用并修复了`get_webpage_source_selenium()`函数:
- 添加了必要的导入
- 使用`webdriver_manager`自动管理ChromeDriver
- 添加了适当的等待时间
- 增加了异常处理
### 2. 修改提取函数
将所有文章提取函数改回使用Selenium
- `toutiao_w_extract_content()`
- `toutiao_extract_content()`
- `wechat_extract_content()`
- `wangyi_extract_content()`
- `souhu_extract_content()`
### 3. 添加详细的日志记录
`main_process.py`中添加了详细的日志记录:
- 记录每个提取步骤
- 记录标题、内容长度
- 记录各种提前返回的原因
- 记录违禁词检查结果
### 4. 添加网络请求代理配置
`get_webpage_source()`中添加了代理配置,避免系统代理的干扰。
## 修复后的流程
1. **Excel读取** - 正常
2. **链接过滤** - 正常
3. **网页内容提取** - 使用Selenium获取动态内容
4. **标题和内容提取** - 使用多个CSS选择器尝试
5. **内容验证** - 检查标题是否为空、长度是否超限
6. **最小长度检查** - 检查文章字数是否达到阈值
7. **违禁词检查** - 检查标题中是否包含违禁词
8. **AI处理** - 调用Coze或Dify进行文章改写
## 注意事项
1. **Selenium依赖**需要安装Chrome浏览器和ChromeDriver
2. **网络问题**:如果仍然无法访问网站,可能需要:
- 检查网络连接
- 配置代理设置
- 更换网络环境
3. **Selenium无头模式**:当前使用无头模式,如果需要调试,可以注释掉`--headless`参数
## 测试建议
1. 运行测试脚本:`python test_extract.py`
2. 检查日志文件:`tail -f article_replace.log`
3. 验证提取结果:检查生成的文章文件
## 后续优化建议
1. **错误处理增强**:对网络请求添加重试机制
2. **选择器优化**根据实际网页结构调整CSS选择器
3. **等待策略优化**:使用更智能的等待策略,而不是固定延时
4. **日志级别管理**:区分调试信息和生产日志