wechat-article-exporter
アプリケーションwechat-article/wechat-article-exporter
オンラインでWeChat公式アカウントの記事を一括ダウンロードし、データをエクスポートします。
概要
Web ベースの WeChat 公式アカウント記事一括ダウンロードツール。閲覧数とコメントデータのエクスポートに対応し、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'); // 実際のアクションバーのセレクタに置き換えてください
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 を一時的なオフラインアーカイブとして使用してください。