# WeChat2Word **Repository Path**: siYuanJun/we-chat2-word ## Basic Information - **Project Name**: WeChat2Word - **Description**: 一个用于将微信公众号文章批量导出为Word文档的Python工具,支持文章标题、发布时间、正文内容和图片的自动提取与排版。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-23 - **Last Updated**: 2025-12-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 微信公众号文章批量导出工具 一个用于将微信公众号文章批量导出为Word文档的Python工具,支持文章标题、发布时间、正文内容和图片的自动提取与排版。 ## 功能特性 - ✅ 批量导出微信公众号文章到Word文档 - ✅ 自动提取文章标题、发布时间、正文和图片 - ✅ 支持从配置文件读取URL列表,方便批量管理 - ✅ 智能处理发布时间提取,支持动态加载内容 - ✅ 按原始HTML顺序排列图片和文字,避免顺序错乱 - ✅ 支持自定义输出目录和代理配置 - ✅ 进度条显示下载进度 - ✅ 提供全流程自动化脚本,一键完成抓取-测试-验证 - ✅ 生成详细的处理报告,记录处理结果 ## 技术栈 - Python 3 - requests - 网络请求 - beautifulsoup4 - HTML解析 - python-docx - Word文档生成 - tqdm - 进度条显示 - selenium - 动态页面处理(可选) ## 安装指南 ### 1. 克隆仓库 ```bash git clone <仓库地址> cd WeChat2Word ``` ### 2. 创建虚拟环境 ```bash python3 -m venv venv source venv/bin/activate # macOS/Linux ``` ### 3. 安装依赖 ```bash pip install -r requirements.txt ``` ## 配置说明 ### 配置文件格式 创建或编辑 `config.json` 文件,配置URL列表和其他参数: ```json { "output_dir": "./outputs", "proxies": null, // 示例: {"http": "http://127.0.0.1:7890", "https": "http://127.0.0.1:7890"} "headers": { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36" }, "url_list": [ "https://mp.weixin.qq.com/s/文章链接1", "https://mp.weixin.qq.com/s/文章链接2" ] } ``` ### 配置参数说明 - `output_dir`: 导出文件的保存目录 - `proxies`: 代理配置(可选) - `headers`: HTTP请求头配置 - `url_list`: 需要导出的微信公众号文章URL列表 ## 使用方法 ### 1. 全流程自动化(推荐) 一键完成抓取、测试、验证和报告生成: ```bash source venv/bin/activate python run_all.py ``` ### 2. 单独使用批量导出功能 ```bash source venv/bin/activate python wechat_batch_exporter.py ``` ### 3. 测试HTML文件的时间提取 ```bash source venv/bin/activate python test_all_html.py ``` ### 4. 重新处理HTML文件 基于本地HTML文件重新生成文档: ```bash source venv/bin/activate python reprocess_html.py ``` ### 5. 验证生成的Word文档 检查生成的Word文档中发布时间和顺序是否正确: ```bash source venv/bin/activate python check_docx.py ``` ## 项目结构 ``` WeChat2Word/ ├── wechat_batch_exporter.py # 主脚本:批量导出文章 ├── run_all.py # 全流程自动化脚本 ├── test_all_html.py # 测试HTML文件时间提取 ├── reprocess_html.py # 重新处理HTML文件 ├── check_docx.py # 验证Word文档 ├── config.json # 配置文件 ├── requirements.txt # 依赖清单 ├── STATUS.md # 项目进度 ├── CHANGELOG.md # 版本变更日志 ├── PROJECT_MAP.md # 项目结构 └── README.md # 项目说明 ``` ## 输出文件说明 - `outputs/`: 存放导出的Word文档 - `outputs/debug_*.html`: 调试用的HTML文件 - `outputs/process_report.json`: 全流程处理报告 ## 注意事项 1. 请确保网络连接正常,部分文章可能需要动态加载 2. 图片下载可能因网络问题或反爬机制失败,此时会跳过该图片 3. 建议在虚拟环境中运行,避免依赖冲突 4. 批量处理大量文章时,可能会受到微信公众号的访问限制 ## 故障排除 ### 发布时间提取失败 - 确保配置的URL是有效的微信公众号文章链接 - 检查网络连接是否正常 - 查看生成的debug_*.html文件,分析页面结构 ### 图片无法下载 - 检查网络连接 - 尝试配置代理 - 查看是否有反爬机制限制 ### 文字和图片顺序错乱 - 工具会按原始HTML顺序排列内容,如仍有问题,请查看原始页面结构 ## 版本历史 查看 [CHANGELOG.md](CHANGELOG.md) 获取详细版本变更信息。 ## 许可证 MIT License ## 贡献 欢迎提交Issue和Pull Request! ## 联系方式 如有问题,请通过Issue反馈。