How yibeigen/wechat-article-exporter works
BlogDistiller collects and archives articles from nine blogging platforms through three documented routes: a desktop client for WeChat, a browser extension for Zhihu and Weibo, and a Web workbench for other supported platforms. The backend discovers article lists, retrieves selected article details, cleans content, and produces downloadable multi-format exports. Authentication and cached task state support protected-platform access and resumable batch work. The README documents these capabilities; the supplied source excerpts are partial, so some client-to-backend and exporter wiring is shown only where documented or evidenced.
Main entry points: main.py API orchestration · task_manager.py Batch task manager · main.js WeChat desktop · background.js Extension background
Components 20
User clients
- Web API and workbench
backend/app/main.py - WeChat desktop
desktop/main.js - Browser extension
frontend/extension/popup.js - Extension background
frontend/extension/background.js - Platform page scripts
frontend/extension/content.js - WeChat page helper
frontend/extension/wechat_content.js
Collection service
- API orchestration
backend/app/main.py - Batch task manager
backend/app/task_manager.py - Platform scrapers
backend/app/scrapers - Article models
backend/app/models.py - Task and article cache
backend/app/core/cache.py
Platform access
- WeChat credentials
backend/app/core/wechat_auth.py - Social credentials
backend/app/core
Cleaning and export
- HTML cleaning
backend/app/cleaners/html_cleaner.py - Noise filtering
backend/app/cleaners/noise_filter.py - Format exporters
backend/app/exporters - ZIP archive export
backend/app/exporters/zip_exporter.py
Other components
- Article seeker
- Blog platforms
- Export download
Connections 23
- Article seeker → Web API and workbench: submits URLs
- Article seeker → WeChat desktop: provides WeChat URL
- Article seeker → Browser extension: requests extraction
- Browser extension → Extension background: dispatches request
- Extension background → Platform page scripts: messages page
- Extension background → Web API and workbench: opens workbench
- WeChat page helper → Blog platforms: fetches articles
- WeChat desktop → Blog platforms: retrieves WeChat data
- Web API and workbench → API orchestration: submits collection
- API orchestration → Platform scrapers: discovers articles
- API orchestration → Batch task manager: starts batch
- Batch task manager → Platform scrapers: fetches details
- Platform scrapers → Blog platforms: requests article data
- Batch task manager → Article models: builds article records
- Batch task manager → Task and article cache: reads and writes
- Batch task manager → HTML cleaning: cleans article HTML
- HTML cleaning → Noise filtering: filters noise
- Batch task manager → Format exporters: generates formats
- Format exporters → ZIP archive export: builds archive
- API orchestration → Export download: serves export
- WeChat desktop → WeChat credentials: uses saved credentials
- API orchestration → WeChat credentials: checks credentials
- API orchestration → Social credentials: manages login state