wechat-article-exporter
애플리케이션wechat-article/wechat-article-exporter
온라인으로 微信公众号의 글을 일괄 다운로드하고 데이터를 내보냅니다.
개요
웹 기반 위챗 공식 계정 게시글 일괄 다운로드 도구로, 조회 수 및 댓글 데이터 내보내기를 지원하며 HTML 형식으로 레이아웃을 100% 복원할 수 있습니다. 온라인 사용, Docker 프라이빗 배포 및 Cloudflare 배포를 지원합니다.
README 미리보기
\n \n\n\n# wechat-article-exporter\n\n![GitHub stars]\n![GitHub forks]\n![GitHub License]\n![Package Version]\n\n\n一款在线的 **微信公众号文章批量下载** 工具,支持导出阅读量与评论数据,无需搭建任何环境,可通过 [在线网站] 使用,同时也支持 docker 私有化部署和 Cloudflare 部署。\n\n支持下载各种文件格式,其中 HTML 格式可100%还原文章排版与样式。\n\n交流群(QQ):\n- `991482155` 1群已满\n- `775909845` 2群\n- `814249342` 3群\n\n## :bell: 重要告知:项目域名调整\n项目域名调整如下:\n\n| | 下载站 | 文档站 |\n|-----|--------------------------------|----------------------------|\n| 调整后 | https://down.mptext.top | https://docs.mptext.top |\n| 调整前 | https://exporter.wxdown.online | https://docs.wxdown.online |\n\n具体细节可以查看 [这里](https://docs.mptext.top/misc/domain.html)。\n\n\n## :books: 如何使用?\n\n该工具的使用教程已移至 [文档站点](https://docs.mptext.top)。\n\n\n## :dart: 特性\n\n- [x] 搜索公众号,支持关键字搜索\n- [x] 支持导出 html/json/excel/txt/md/docx 格式(html 格式打包了图片和样式文件,能够保证100%还原文章样式)\n- [x] 缓存文章列表数据,减少接口请求次数\n- [x] 支持文章过滤,包括作者、标题、发布时间、原创标识、所属合集等\n- [x] 支持合集下载\n- [x] 支持图片分享消息\n- [x] 支持视频分享消息\n- [x] 支持导出评论、评论回复、阅读量、转发量等数据 (需要抓包获取 credentials 信息,[查看操作步骤](https://docs.mptext.top/advanced/wxdown-service.html))\n- [x] 支持 Docker 部署\n- [x] 支持 Cloudflare 部署\n- [x] 开放 API 接口\n\n\n## :heart: 感谢\n\n- 感谢 [Deno Deploy]、[Cloudflare Workers] 提供免费托管服务\n- 感谢 [WeChat_Article] 项目提供原理思路\n\n\n## :star: 支持\n\n如果你觉得本项目帮助到了你,请给作者一个免费的 Star,感谢你的支持!\n\n\n## :bulb: 原理\n\n在公众号后台写文章时支持搜索其他公众号的文章功能,以此来实现抓取指定公众号所有文章的目的。\n\n\n## :memo: 许可\n\nMIT\n\n## :red_circle: 声明\n\n本程序承诺,不会利用您扫码登录的公众号进行任何形式的私有爬虫,也就是说不存在把你的账号作为公共账号为别人爬取文章的行为,也不存在类似账号池的东西。\n\n您的公众号只会服务于您自己的抓取文章的目的。\n\n通过本程序获取的公众号文章内容,版权归文章原作者所有,请合理使用。若发现侵权行为,请联系我们处理。\n\n\n## :chart_with_upwards_trend: Star 历史\n\n[![Star History Chart]][Star History Chart Link]\n\n\n\n\n\n[GitHub stars]: https://img.shields.io/github/stars/wechat-article/wechat-article-exporter?style=social&label=Star&style=plastic\n\n[GitHub forks]: https://img.shields.io/github/forks/wechat-article/wechat-article-exporter?style=social&label=Fork&style=plastic\n\n[GitHub License]: http
FAQ (3)
문제 해결Turndown이 내보낸 Markdown에 CSS 스타일과 SVG 아이콘을 포함하지 않도록 하려면 어떻게 해야 하나요?
이 문제는 구성되지 않은 Turndown 서비스가 완전한 HTML 문서를 변환할 때 발생합니다. <head> 태그는 제거되지만, 그 자식인 <style> 및 <title> 노드는 파싱 과정에서 살아남아 원시 텍스트로 출력되므로 CSS 코드가 문서 앞부분에 나타나게 됩니다. 마찬가지로, 하단 액션 바(Read/Like/Share)는 문서 끝부분에서 대용량 인라인 data URI SVG로 변환됩니다. 이를 해결하려면 변환 전에 이러한 노드를 명시적으로 제거하거나 Turndown 규칙을 구성하세요:
const turndownService = new TurndownService();
turndownService.remove(['style', 'title']);
turndownService.remove('.bottom-bar'); // Replace with the actual action bar selector
const markdown = turndownService.turndown(html);
또는 이러한 비콘텐츠 요소를 자동으로 필터링하는 통합 shared/utils/markdown.ts 유틸리티가 포함된 릴리스로 업데이트하세요.
설정내보낸 아티클 파일명에 게시 날짜를 포함하려면 어떻게 해야 합니까?
컬렉션/앨범 상세 페이지에서 Markdown 일괄 내보내기 옵션을 사용하세요. 내보내기 도구는 각 파일 이름 앞에 게시 날짜를 yyyy-MM-dd 형식으로 자동으로 추가하여 2024-05-20 Article title.md와 같은 이름을 생성합니다. 별도의 시간 변수를 수동으로 설정할 필요가 없습니다. 파일 이름 형식 지정은 utils/download/album-format.ts에 구현되어 있습니다. HTML 오프라인 내보내기는 대체 형식으로 계속 사용할 수 있습니다.
문제 해결CSS 코드로 시작하고, 광고나 action-bar 잡동사니가 포함되며, 표가 변환되지 않는 Markdown 내보내기를 수정하는 방법은?
공유된 utils/markdown.ts 변경 사항이 포함된 수정 빌드로 업그레이드하세요. 이 문제는 익스포터가 renderHTMLFromCgiDataNew()에서 생성된 전체 HTML 문서를 구성되지 않은 Turndown 인스턴스에 전달했기 때문에 발생했습니다. <head>는 제거되었지만 <style> 및 <title> 노드는 유지되어 해당 CSS/텍스트가 .md 파일 상단에 출력되었으며, WeChat 하단 작업 표시줄도 대용량 인라인 SVG 데이터 URI를 포함한 채 변환되었습니다.
해결 방법:
1. Markdown 내보내기 수정이 포함된 버전으로 서비스를 업데이트/재배포합니다.
2. 전체 문서가 아닌 기사 HTML만 변환합니다.
3. 변환 전에 style, title, script, 광고, 도구 모음 및 하단 작업 노드를 제거하도록 Turndown을 구성합니다.
4. turndown-plugin-gfm 등을 사용하여 GitHub Flavored Markdown 테이블 지원을 활성화합니다.
5. format=markdown으로 내보내기 URL을 다시 요청합니다.
셀프 호스팅 배포의 경우 코드를 업데이트하고, 종속성을 다시 설치하고, 다시 빌드하고, 서비스를 재시작한 후 다운로드를 다시 시도하세요. 즉시 업그레이드할 수 없는 경우 손상된 Markdown 출력 대신 format=html을 임시 오프라인 아카이브로 사용하세요.