故障排除 - Troubleshooting
目录
故障排除 - Troubleshooting
遇到问题?这里有常见问题的解决方案和调试技巧。
问题分类
网络和请求问题
- 请求超时
- 连接被拒绝
- SSL 证书错误
- 代理配置问题
- Cookie 失效
反爬虫问题
- IP 被封禁
- 验证码拦截
- User-Agent 检测
- JavaScript 挑战
- 频率限制
JavaScript 调试问题
- 断点不生效
- 变量查看失败
- Source Map 错误
- 混淆代码调试
- 异步代码跟踪
工具使用问题
- Chrome DevTools 问题
- Burp Suite 配置
- Fiddler 代理问题
- Postman 脚本错误
- Node.js 环境问题
数据处理问题
- 编码错误
- JSON 解析失败
- 数据库连接问题
- 文件读写错误
- 内存溢出
Docker 部署问题
- 容器启动失败
- 网络连接问题
- 卷挂载错误
- 权限问题
- 资源限制
🆘 快速查找
按错误信息查找
| 错误信息 | 可能原因 | 解决方案 |
|---|---|---|
Connection refused | 目标服务器不可用 | 网络问题 |
SSL certificate verify failed | SSL 证书验证失败 | SSL 问题 |
403 Forbidden | 被反爬虫拦截 | 反爬问题 |
429 Too Many Requests | 请求频率过高 | 频率限制 |
JSONDecodeError | JSON 格式错误 | JSON 问题 |
UnicodeDecodeError | 编码问题 | 编码问题 |
TimeoutError | 请求超时 | 超时问题 |
ModuleNotFoundError | 模块未安装 | 环境问题 |
按场景查找
- 无法抓包: 代理配置
- Cookie 不生效: Cookie 问题
- 加密无法破解: JavaScript 调试
- 爬虫被封: 反爬虫对策
- 数据存储失败: 数据库问题
调试技巧
1. 系统化排查
| |
2. 日志收集
Python 示例:
| |
Scrapy 示例:
| |
3. 网络请求调试
| |
4. JavaScript 调试
| |
常见问题 FAQ
Q: 为什么我的代理不生效?
A: 检查以下几点:
- 代理配置格式是否正确
- 代理服务是否正在运行
- 系统代理设置是否正确
- 是否需要设置环境变量
详见: 代理配置问题
Q: 如何处理验证码?
A: 常见方法:
- 使用验证码识别服务 (2Captcha, 打码平台)
- 自建 OCR 识别
- 使用浏览器自动化绕过
- 分析验证码生成逻辑
详见: 验证码处理
Q: 为什么 Cookie 传过去还是失败?
A: 可能原因:
- Cookie 已过期
- 缺少必要的 Cookie 字段
- Cookie 域名或路径不匹配
- 需要其他请求头配合
详见: Cookie 问题
Q: JavaScript 混淆代码怎么调试?
A: 技巧:
- 使用 Source Map (如果有)
- 格式化代码 (Beautify)
- 使用 AST 工具还原
- 单步调试追踪
详见: JavaScript 调试
预防措施
代码质量
| |
日志记录
| |
监控告警
- 设置请求成功率监控
- 配置错误日志告警
- 监控资源使用情况
- 定期检查数据质量
相关资源
🆘 获取帮助
如果以上内容无法解决您的问题:
- 查看 GitHub Issues
- 提交新的 Issue (附带详细错误日志)
- 加入社区讨论
- 查看官方文档
记住:调试是一门艺术,耐心是关键!