# wechat-article-crawler **Repository Path**: lzsk_admin/wechat-article-crawler ## Basic Information - **Project Name**: wechat-article-crawler - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-04 - **Last Updated**: 2025-09-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 微信公众号文章爬虫 一个用于爬取微信公众号文章内容并转换为Markdown或HTML格式的Python工具。 ## 功能特性 - 🚀 支持单篇文章爬取和批量爬取 - 📝 支持输出Markdown和HTML格式 - 🌐 支持使用Selenium处理JavaScript渲染的页面 - 🎨 自动提取文章标题、作者、发布时间等元信息 - 🖼️ 保留文章中的图片和格式 - 📊 批量爬取时提供详细的结果统计 - ⏱️ 支持设置请求间隔,避免被封 ## 安装依赖 ```bash cd wechat-article-crawler pip install -r requirements.txt ``` ## 使用方法 ### 1. 单篇文章爬取 ```bash python wechat_crawler.py ``` 运行后按提示输入: - 微信公众号文章链接 - 选择输出格式(Markdown/HTML/两种都要) - 是否使用Selenium ### 2. 批量文章爬取 ```bash python batch_crawler.py ``` 支持两种输入方式: - 从文件读取链接(每行一个链接) - 手动输入多个链接 ### 3. 编程方式使用 ```python from wechat_crawler import WeChatArticleCrawler # 创建爬虫实例 crawler = WeChatArticleCrawler(use_selenium=False) # 爬取单篇文章 url = "https://mp.weixin.qq.com/s/xxxxxxxxx" saved_files = crawler.crawl_and_save(url, format_type="both") # 关闭资源 crawler.close() ``` ## 输出格式 ### Markdown格式 - 包含文章元信息(标题、作者、发布时间、原文链接) - 保留文章格式和图片 - 适合进一步编辑和处理 ### HTML格式 - 完整的HTML文档 - 包含CSS样式,美观易读 - 可直接在浏览器中查看 ## 文件结构 ``` wechat-article-crawler/ ├── wechat_crawler.py # 主爬虫模块 ├── batch_crawler.py # 批量爬虫模块 ├── requirements.txt # 依赖包列表 ├── README.md # 说明文档 └── output/ # 输出目录(自动创建) ├── article1.md ├── article1.html └── crawl_results.json # 批量爬取结果统计 ``` ## 配置说明 ### 请求头设置 爬虫会自动设置随机User-Agent和常用请求头,模拟真实浏览器访问。 ### Selenium配置 - 使用无头Chrome浏览器 - 自动下载和管理ChromeDriver - 适用于需要JavaScript渲染的页面 ### 反爬虫措施 - 随机User-Agent - 请求间隔控制 - 错误重试机制 ## 注意事项 1. **合法使用**: 请遵守网站的robots.txt和使用条款,仅用于学习和个人用途 2. **频率控制**: 建议设置适当的请求间隔,避免对服务器造成压力 3. **网络环境**: 某些文章可能需要特定的网络环境才能访问 4. **内容变化**: 微信可能会更新页面结构,如遇问题请及时更新代码 ## 常见问题 ### Q: 爬取失败怎么办? A: - 检查链接是否有效 - 尝试使用Selenium模式 - 检查网络连接 - 查看错误日志 ### Q: 图片无法显示? A: 微信的图片可能有防盗链保护,建议下载图片到本地或使用图床服务。 ### Q: 批量爬取时被封怎么办? A: - 增加请求间隔时间 - 使用代理IP - 分批次进行爬取 ## 更新日志 - v1.0.0: 初始版本,支持基本的文章爬取功能 - 支持Markdown和HTML输出格式 - 支持批量爬取功能 ## 许可证 本项目仅供学习和研究使用,请勿用于商业用途。使用时请遵守相关法律法规和网站使用条款。